{"id":1624,"date":"2026-02-13T11:11:35","date_gmt":"2026-02-13T11:11:35","guid":{"rendered":"https:\/\/wayhope.kro.kr\/?p=1624"},"modified":"2026-08-31T07:32:30","modified_gmt":"2026-08-31T07:32:30","slug":"%eb%b3%b4%ec%95%88-%ed%95%b5%ec%8b%ac-%ec%a0%95%eb%a6%ac","status":"publish","type":"post","link":"https:\/\/wayhope.kro.kr\/?p=1624","title":{"rendered":"\ubcf4\uc548 \ud575\uc2ec \uc815\ub9ac"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">\uc18c\ud504\ud2b8\uc6e8\uc5b4 \ubcf4\uc548\uc740 \uacb0\uad6d <strong>\uc2e0\ub8b0\ud560 \uc218 \uc5c6\ub294 \ud658\uacbd\uc5d0\uc11c \uc2dc\uc2a4\ud15c\uc744 \uc548\uc804\ud558\uac8c \ub3d9\uc791\uc2dc\ud0a4\ub294 \ubb38\uc81c<\/strong>\ub77c\uace0 \uc0dd\uac01\ud558\uba74 \ub41c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc778\ud130\ub137\uc5d0 \uc5f0\uacb0\ub41c \ud504\ub85c\uadf8\ub7a8\uc740 \uc0ac\uc6a9\uc790\uac00 \ubcf4\ub0b4\ub294 \ub370\uc774\ud130\ub97c \ubbff\uc744 \uc218 \uc5c6\ub2e4. \uc11c\ubc84\uc640 \ud1b5\uc2e0\ud558\ub294 \ud074\ub77c\uc774\uc5b8\ud2b8\ub3c4 \ubbff\uc744 \uc218 \uc5c6\uace0, \uc800\uc7a5\ub41c \ub370\uc774\ud130\uac00 \ud56d\uc0c1 \uc548\uc804\ud558\ub2e4\uace0 \uac00\uc815\ud560 \uc218\ub3c4 \uc5c6\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uadf8\ub798\uc11c \ubcf4\uc548\uc740 \ud2b9\uc815 \ub77c\uc774\ube0c\ub7ec\ub9ac \ud558\ub098\ub97c \uc0ac\uc6a9\ud558\ub294 \uac83\uc73c\ub85c \ub05d\ub098\ub294 \ubb38\uc81c\uac00 \uc544\ub2c8\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc785\ub825\uac12\uc744 \uc5b4\ub5bb\uac8c \ucc98\ub9ac\ud558\ub294\uc9c0, \uc778\uc99d\uc744 \uc5b4\ub5bb\uac8c \ud558\ub294\uc9c0, \uad8c\ud55c\uc744 \uc5b4\ub5bb\uac8c \ud655\uc778\ud558\ub294\uc9c0, \ub370\uc774\ud130\ub97c \uc5b4\ub5bb\uac8c \uc800\uc7a5\ud558\uace0 \uc804\uc1a1\ud558\ub294\uc9c0\uae4c\uc9c0 \uc2dc\uc2a4\ud15c \uc804\uccb4\ub97c \ubd10\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ubcf4\uc548\uc5d0\uc11c \uba3c\uc800 \uad6c\ubd84\ud574\uc57c \ud558\ub294 \uac83<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\ubcf4\uc548\uc744 \uc774\uc57c\uae30\ud560 \ub54c \uc790\uc8fc \ub4f1\uc7a5\ud558\ub294 \uac1c\ub150\uc774 <strong>CIA Triad<\/strong>\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Confidentiality\n\uae30\ubc00\uc131-> \ud5c8\uac00\ub418\uc9c0 \uc54a\uc740 \uc0ac\ub78c\uc774 \ub370\uc774\ud130\ub97c \ubcfc \uc218 \uc5c6\uc5b4\uc57c \ud568\n\nIntegrity\n\ubb34\uacb0\uc131-> \ub370\uc774\ud130\uac00 \ud5c8\uac00 \uc5c6\uc774 \ubcc0\uacbd\ub418\uc9c0 \uc54a\uc544\uc57c \ud568\n\nAvailability\n\uac00\uc6a9\uc131-> \ud544\uc694\ud55c \uc0ac\ub78c\uc774 \uc2dc\uc2a4\ud15c\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc5b4\uc57c \ud568<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4 \uac8c\uc784 \uc11c\ubc84\ub77c\uba74<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\uae30\ubc00\uc131-> \ub2e4\ub978 \ud50c\ub808\uc774\uc5b4\uc758 \uac1c\uc778\uc815\ubcf4\ub97c \ubcfc \uc218 \uc5c6\uc5b4\uc57c \ud568\n\n\ubb34\uacb0\uc131-> \ud074\ub77c\uc774\uc5b8\ud2b8\uac00 \uc790\uc2e0\uc758 \uc7ac\ud654\ub97c \uc784\uc758\ub85c \ubcc0\uacbd\ud560 \uc218 \uc5c6\uc5b4\uc57c \ud568\n\n\uac00\uc6a9\uc131-> \uacf5\uaca9\uc774 \ubc1c\uc0dd\ud574\ub3c4 \uc11c\ubc84\uac00 \uc815\uc0c1\uc801\uc73c\ub85c \uc11c\ube44\uc2a4\ub418\uc5b4\uc57c \ud568<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ubcf4\uc548\uc740 \ub2e8\uc21c\ud788 &#8220;\ud574\ud0b9\uc744 \ub9c9\ub294 \uac83&#8221;\ubcf4\ub2e4 \ub113\uc740 \uac1c\ub150\uc774\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\uacf5\uaca9 \ud45c\uba74<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uc2dc\uc2a4\ud15c\uc774 \uc678\ubd80\uc640 \uc0c1\ud638\uc791\uc6a9\ud558\ub294 \ubaa8\ub4e0 \uc9c0\uc810\uc740 \uacf5\uaca9 \ub300\uc0c1\uc774 \ub420 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"897\" height=\"431\" src=\"https:\/\/wayhope.kro.kr\/wp-content\/uploads\/2026\/08\/image-92.png\" alt=\"\" class=\"wp-image-1895\" style=\"aspect-ratio:2.0813008130081303;width:482px;height:auto\" srcset=\"https:\/\/wayhope.kro.kr\/wp-content\/uploads\/2026\/08\/image-92.png 897w, https:\/\/wayhope.kro.kr\/wp-content\/uploads\/2026\/08\/image-92-300x144.png 300w, https:\/\/wayhope.kro.kr\/wp-content\/uploads\/2026\/08\/image-92-768x369.png 768w\" sizes=\"auto, (max-width: 897px) 100vw, 897px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub7f0 \uc9c0\uc810\uc744 <strong>Attack Surface<\/strong>\ub77c\uace0 \ubcfc \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uae30\ub2a5\uc774 \ub9ce\uc544\uc9c8\uc218\ub85d \uc77c\ubc18\uc801\uc73c\ub85c \uacf5\uaca9 \ud45c\uba74\ub3c4 \ucee4\uc9c4\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uadf8\ub798\uc11c \ubcf4\uc548\uc744 \uc801\uc6a9\ud560 \ub54c\ub294 \uba3c\uc800<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\uc5b4\ub514\uc5d0\uc11c \uc678\ubd80 \uc785\ub825\uc744 \ubc1b\ub294\uac00?\n\uc5b4\ub5a4 \ub370\uc774\ud130\uac00 \uc911\uc694\ud55c\uac00?\n\ub204\uac00 \uc811\uadfc\ud560 \uc218 \uc788\ub294\uac00?\n\uc5b4\ub5a4 \uad8c\ud55c\uc774 \ud544\uc694\ud55c\uac00?\n\uc678\ubd80 \uc2dc\uc2a4\ud15c\uacfc \ubb34\uc5c7\uc744 \uc8fc\uace0\ubc1b\ub294\uac00?<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub97c \ud30c\uc545\ud558\ub294 \uac83\uc774 \uc88b\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\uc778\uc99d\uacfc \uc778\uac00<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\ubcf4\uc548\uc5d0\uc11c \uac00\uc7a5 \uc790\uc8fc \ud5f7\uac08\ub9ac\ub294 \uac1c\ub150\uc774 <strong>Authentication<\/strong>\uacfc <strong>Authorization<\/strong>\uc774\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Authentication<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">&#8220;\ub2f9\uc2e0\uc774 \ub204\uad6c\uc778\uac00?&#8221;\ub97c \ud655\uc778\ud558\ub294 \uacfc\uc815\uc774\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\uc0ac\uc6a9\uc790 -> \ub85c\uadf8\uc778 \uc815\ubcf4 \uc81c\ucd9c -> \uc778\uc99d -> \uc0ac\uc6a9\uc790 \uc2dd\ubcc4<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Authorization<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">&#8220;\ub2f9\uc2e0\uc774 \uc774 \uc791\uc5c5\uc744 \ud560 \uad8c\ud55c\uc774 \uc788\ub294\uac00?&#8221;\ub97c \ud655\uc778\ud558\ub294 \uacfc\uc815\uc774\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\uc0ac\uc6a9\uc790 -> \uc0ad\uc81c \uc694\uccad -> \uad8c\ud55c \ud655\uc778 -> \ud5c8\uc6a9 \/ \uac70\ubd80<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub458\uc740 \ubcc4\uac1c\uc758 \ubb38\uc81c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub85c\uadf8\uc778\uc5d0 \uc131\uacf5\ud588\ub2e4\uace0 \ud574\uc11c \ubaa8\ub4e0 \uc791\uc5c5\uc744 \uc218\ud589\ud560 \uc218 \uc788\ub294 \uac83\uc740 \uc544\ub2c8\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\uc138\uc158\uacfc \ud1a0\ud070<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uc6f9 \uc11c\ube44\uc2a4\uc5d0\uc11c\ub294 \uc778\uc99d \uc0c1\ud0dc\ub97c \uc720\uc9c0\ud558\uae30 \uc704\ud574 \uc138\uc158\uc774\ub098 \ud1a0\ud070\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc138\uc158 \uae30\ubc18 \ubc29\uc2dd\uc5d0\uc11c\ub294 \uc11c\ubc84\uac00 \ub85c\uadf8\uc778 \uc0c1\ud0dc\ub97c \uad00\ub9ac\ud558\uace0 \ud074\ub77c\uc774\uc5b8\ud2b8\ub294 \uc138\uc158\uc744 \uc2dd\ubcc4\ud560 \uc218 \uc788\ub294 \uac12\uc744 \uc804\ub2ec\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Client -> Session ID -> Server -> Session \ud655\uc778<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ud1a0\ud070 \uae30\ubc18 \ubc29\uc2dd\uc5d0\uc11c\ub294 \uc778\uc99d \uc815\ubcf4\ub97c \ub2f4\uc740 \ud1a0\ud070\uc744 \ud074\ub77c\uc774\uc5b8\ud2b8\uac00 \uc804\ub2ec\ud558\uace0 \uc11c\ubc84\uac00 \uc774\ub97c \uac80\uc99d\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub300\ud45c\uc801\uc73c\ub85c JWT\uac00 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Client -> Access Token -> Server -> Token \uac80\uc99d -> Request \ucc98\ub9ac<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc911\uc694\ud55c \uac83\uc740 \uc138\uc158\uc774\ub0d0 \ud1a0\ud070\uc774\ub0d0 \uc790\uccb4\uac00 \ubcf4\uc548\uc744 \uacb0\uc815\ud558\ub294 \uac83\uc740 \uc544\ub2c8\ub77c\ub294 \uc810\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud1a0\ud070\uc744 \uc548\uc804\ud558\uac8c \uc800\uc7a5\ud558\uc9c0 \uc54a\uac70\ub098, \ub9cc\ub8cc\uc640 \ud3d0\uae30\ub97c \uc81c\ub300\ub85c \ucc98\ub9ac\ud558\uc9c0 \uc54a\uc73c\uba74 \ubb38\uc81c\uac00 \uc0dd\uae38 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ube44\ubc00\ubc88\ud638 \uc800\uc7a5<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\ube44\ubc00\ubc88\ud638\ub294 \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0 \ud3c9\ubb38\uc73c\ub85c \uc800\uc7a5\ud558\uba74 \uc548 \ub41c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Bad\n\npassword -> Database\n\nGood\n\npassword -> Password Hash -> Database<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc77c\ubc18\uc801\uc778 \ube44\ubc00\ubc88\ud638 \uc800\uc7a5\uc5d0\ub294 Argon2, bcrypt, scrypt \uac19\uc740 \ube44\ubc00\ubc88\ud638 \ud574\uc2f1 \uc54c\uace0\ub9ac\uc998\uc774 \uc0ac\uc6a9\ub41c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud574\uc2f1\uc740 \uc554\ud638\ud654\uc640 \ub2e4\ub974\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc554\ud638\ud654\ub294 \ud0a4\ub97c \uc774\uc6a9\ud574 \ub370\uc774\ud130\ub97c \ubcc0\ud658\ud558\uace0 \ub2e4\uc2dc \ubcf5\ud638\ud654\ud560 \uc218 \uc788\uc9c0\ub9cc, \ube44\ubc00\ubc88\ud638 \ud574\uc2f1\uc740 \uc6d0\ub798 \ube44\ubc00\ubc88\ud638\ub97c \ubcf5\uc6d0\ud558\ub294 \uac83\uc744 \ubaa9\uc801\uc73c\ub85c \ud558\uc9c0 \uc54a\ub294\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub610\ud55c \ub2e8\uc21c\ud55c SHA-256 \uac19\uc740 \uc77c\ubc18\uc801\uc778 \ud574\uc2dc \ud568\uc218\ub97c \ube44\ubc00\ubc88\ud638 \uc800\uc7a5 \uc6a9\ub3c4\ub85c \uc0ac\uc6a9\ud558\ub294 \uac83\ub3c4 \uc801\uc808\ud558\uc9c0 \uc54a\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ube44\ubc00\ubc88\ud638 \uacf5\uaca9\uc5d0 \ub300\uc751\ud558\uae30 \uc704\ud574 \uacc4\uc0b0 \ube44\uc6a9\uc744 \uc758\ub3c4\uc801\uc73c\ub85c \ub192\uc778 \uc804\uc6a9 password hashing \uc54c\uace0\ub9ac\uc998\uc744 \uc0ac\uc6a9\ud574\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Salt<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uac19\uc740 \ube44\ubc00\ubc88\ud638\ub97c \uc0ac\uc6a9\ud558\ub294 \uc0ac\uc6a9\uc790\uac00 \uc788\ub2e4\uba74 \ub2e8\uc21c \ud574\uc2f1\ub9cc \ud588\uc744 \uacbd\uc6b0 \uacb0\uacfc\ub3c4 \uac19\uc544\uc9c4\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>password -> hash -> \uac19\uc740 \uacb0\uacfc<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uadf8\ub798\uc11c \ube44\ubc00\ubc88\ud638\ub9c8\ub2e4 \ub79c\ub364\ud55c <strong>Salt<\/strong>\ub97c \ucd94\uac00\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>password + random salt -> password hash<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uadf8\ub7ec\uba74 \uac19\uc740 \ube44\ubc00\ubc88\ud638\ub77c\ub3c4 \uc11c\ub85c \ub2e4\ub978 \ud574\uc2dc \uacb0\uacfc\ub97c \uac16\uac8c \ub41c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Salt\ub294 \ube44\ubc00\ubc88\ud638\ub97c \uc228\uae30\ub294 \ube44\ubc00\ud0a4\uac00 \uc544\ub2c8\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc77c\ubc18\uc801\uc73c\ub85c \ud574\uc2dc\uc640 \ud568\uaed8 \uc800\uc7a5\ud574\ub3c4 \ub41c\ub2e4. \uc911\uc694\ud55c \uac83\uc740 \uc0ac\uc6a9\uc790\ub9c8\ub2e4 \ucda9\ubd84\ud788 \ub79c\ub364\ud55c salt\ub97c \uc0ac\uc6a9\ud558\ub294 \uac83\uc774\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\uc554\ud638\ud654<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uc554\ud638\ud654\ub294 \ub370\uc774\ud130\ub97c \uc77d\uc744 \uc218 \uc5c6\ub294 \ud615\ud0dc\ub85c \ubcc0\ud658\ud558\uace0 \uc801\uc808\ud55c \ud0a4\ub97c \uac00\uc9c4 \uc8fc\uccb4\ub9cc \uc6d0\ub798 \ub370\uc774\ud130\ub85c \ubcf5\uc6d0\ud560 \uc218 \uc788\ub3c4\ub85d \ud558\ub294 \ubc29\uc2dd\uc774\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Plaintext -> Encryption + Key -> Ciphertext<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ubcf5\ud638\ud654\ud558\uba74 \ub2e4\uc2dc \uc6d0\ub798 \ub370\uc774\ud130\uac00 \ub098\uc628\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Ciphertext -> Decryption + Key -> Plaintext<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc554\ud638\ud654\ub294 \ud06c\uac8c \ub300\uce6d\ud0a4\uc640 \ube44\ub300\uce6d\ud0a4\ub85c \ub098\ub20c \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\ub300\uce6d\ud0a4 \uc554\ud638\ud654<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\uc554\ud638\ud654\uc640 \ubcf5\ud638\ud654\uc5d0 \uac19\uc740 \ud0a4\ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"319\" height=\"188\" src=\"https:\/\/wayhope.kro.kr\/wp-content\/uploads\/2026\/08\/image-93.png\" alt=\"\" class=\"wp-image-1896\" style=\"width:230px;height:auto\" srcset=\"https:\/\/wayhope.kro.kr\/wp-content\/uploads\/2026\/08\/image-93.png 319w, https:\/\/wayhope.kro.kr\/wp-content\/uploads\/2026\/08\/image-93-300x177.png 300w\" sizes=\"auto, (max-width: 319px) 100vw, 319px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\ub300\ud45c\uc801\uc73c\ub85c AES\uac00 \uc788\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\ube44\ub300\uce6d\ud0a4 \uc554\ud638\ud654<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\uacf5\uac1c\ud0a4\uc640 \uac1c\uc778\ud0a4\ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Public Key\nPrivate Key<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">TLS, \uc804\uc790\uc11c\uba85, \ud0a4 \uad50\ud658 \ub4f1\uc758 \uc601\uc5ed\uc5d0\uc11c \uc0ac\uc6a9\ub41c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc2e4\uc81c \uc2dc\uc2a4\ud15c\uc5d0\uc11c\ub294 \ud558\ub098\uc758 \uc554\ud638 \ubc29\uc2dd\ub9cc \uc0ac\uc6a9\ud558\ub294 \uac83\uc774 \uc544\ub2c8\ub77c \uac01\uac01\uc758 \uc7a5\uc810\uc744 \uc870\ud569\ud55c\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">HTTPS\uc640 TLS<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">HTTP\ub294 \ub124\ud2b8\uc6cc\ud06c\uc5d0\uc11c \ub370\uc774\ud130\ub97c \uc804\ub2ec\ud558\uc9c0\ub9cc \uae30\ubcf8 HTTP \uc790\uccb4\ub294 \uc554\ud638\ud654\ub41c \ud1b5\uc2e0\uc744 \uc81c\uacf5\ud558\uc9c0 \uc54a\ub294\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">HTTPS\ub294 TLS\ub97c \uc0ac\uc6a9\ud574 \ud1b5\uc2e0\uc744 \ubcf4\ud638\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Client == TLS == Server<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">TLS\ub294 \ud1b5\uc2e0 \uacfc\uc815\uc5d0\uc11c \ub370\uc774\ud130\ub97c \uc554\ud638\ud654\ud558\uace0 \uc11c\ubc84\uc758 \uc2e0\uc6d0\uc744 \uac80\uc99d\ud558\uba70 \ud1b5\uc2e0 \ub370\uc774\ud130\uc758 \ubcc0\uc870\ub97c \ud0d0\uc9c0\ud560 \uc218 \uc788\ub3c4\ub85d \ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub85c\uadf8\uc778 \uc815\ubcf4\ub098 \uacb0\uc81c \uc815\ubcf4\ucc98\ub7fc \ubbfc\uac10\ud55c \ub370\uc774\ud130\ubfd0\ub9cc \uc544\ub2c8\ub77c \uc77c\ubc18\uc801\uc778 \uc6f9 \uc11c\ube44\uc2a4\uc5d0\uc11c\ub3c4 HTTPS\ub97c \uc0ac\uc6a9\ud558\ub294 \uac83\uc774 \uae30\ubcf8\uc801\uc778 \ubcf4\uc548 \uad6c\uc131\uc774\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\uc785\ub825\uac12 \uac80\uc99d<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uc678\ubd80\uc5d0\uc11c \ub4e4\uc5b4\uc624\ub294 \ub370\uc774\ud130\ub294 \uae30\ubcf8\uc801\uc73c\ub85c \uc2e0\ub8b0\ud558\uc9c0 \uc54a\ub294 \uac83\uc774 \uc88b\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Client -> Input -> Validation -> Application<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4 \uc11c\ubc84\uac00<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>level = 10<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc744 \uae30\ub300\ud55c\ub2e4\uace0 \ud574\uc11c \ud074\ub77c\uc774\uc5b8\ud2b8\uac00 \ud56d\uc0c1 <code>10<\/code>\uc744 \ubcf4\ub0bc \uac83\uc774\ub77c\uace0 \ubbff\uc73c\uba74 \uc548 \ub41c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>level = -999\nlevel = 999999\nlevel = \"hello\"<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uac19\uc740 \uac12\uc774 \ub4e4\uc5b4\uc62c \uc218 \uc788\ub2e4\ub294 \uac83\uc744 \uc804\uc81c\ub85c \ucc98\ub9ac\ud574\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc785\ub825\uac12 \uac80\uc99d\uc740 \ub2e8\uc21c\ud788 \uc0ac\uc6a9\uc790\uc758 \uc2e4\uc218\ub97c \ub9c9\ub294 \uae30\ub2a5\uc774 \uc544\ub2c8\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uacf5\uaca9\uc790\uac00 \uc758\ub3c4\uc801\uc73c\ub85c \ube44\uc815\uc0c1\uc801\uc778 \ub370\uc774\ud130\ub97c \ubcf4\ub0b4\ub294 \uc0c1\ud669\ub3c4 \ud3ec\ud568\ud55c\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">SQL Injection<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\ub300\ud45c\uc801\uc778 \uc785\ub825\uac12 \uacf5\uaca9\uc774 <strong>SQL Injection<\/strong>\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ubb38\uc790\uc5f4\uc744 \uc9c1\uc811 SQL \ubb38\uc7a5\uc5d0 \uc774\uc5b4 \ubd99\uc774\uba74 \uacf5\uaca9\uc790\uac00 SQL\uc758 \uad6c\uc870\ub97c \ubcc0\uacbd\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\uc0ac\uc6a9\uc790 \uc785\ub825\n   -&gt;\nSQL \ubb38\uc790\uc5f4\uc5d0 \uc9c1\uc811 \uc0bd\uc785\n   -&gt;\n\uc758\ub3c4\ud558\uc9c0 \uc54a\uc740 SQL \uc2e4\ud589<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\"SELECT * FROM users WHERE name = '\" + username + \"'\"<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uac19\uc740 \ubc29\uc2dd\uc740 \uc704\ud5d8\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub300\uc2e0 <strong>Parameterized Query \/ Prepared Statement<\/strong>\ub97c \uc0ac\uc6a9\ud574 SQL \ucf54\ub4dc\uc640 \ub370\uc774\ud130\ub97c \ubd84\ub9ac\ud558\ub294 \uac83\uc774 \uc77c\ubc18\uc801\uc778 \ud574\uacb0 \ubc29\ubc95\uc774\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SQL \uad6c\uc870 + \uc0ac\uc6a9\uc790 \ub370\uc774\ud130 -> DB<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc0ac\uc6a9\uc790 \uc785\ub825\uc744 \ub2e8\uc21c\ud788 \ubb38\uc790\uc5f4 \uce58\ud658\uc73c\ub85c SQL\uc5d0 \uc9d1\uc5b4\ub123\uc9c0 \uc54a\ub294 \uac83\uc774 \ud575\uc2ec\uc774\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">XSS<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>XSS(Cross-Site Scripting)<\/strong>\ub294 \uacf5\uaca9\uc790\uac00 \uc6f9 \ud398\uc774\uc9c0\uc5d0\uc11c \uc545\uc131 \uc2a4\ud06c\ub9bd\ud2b8\uac00 \uc2e4\ud589\ub418\ub3c4\ub85d \ub9cc\ub4dc\ub294 \uacf5\uaca9\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4 \uc0ac\uc6a9\uc790\uac00 \uc785\ub825\ud55c \ubb38\uc790\uc5f4\uc774 \uadf8\ub300\ub85c HTML\uc5d0 \ucd9c\ub825\ub418\ub294 \uad6c\uc870\ub77c\uba74 \ubb38\uc81c\uac00 \ubc1c\uc0dd\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>User Input -> Server -> HTML -> Browser<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc6f9 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0\uc11c\ub294 \uc0c1\ud669\uc5d0 \ub9de\ub294 \ucd9c\ub825 \uc778\ucf54\ub529\uacfc \uc785\ub825 \ucc98\ub9ac, Content Security Policy \ub4f1\uc758 \ubc29\uc5b4 \ubc29\ubc95\uc744 \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc911\uc694\ud55c \uac83\uc740 &#8220;\uc785\ub825\uac12\uc5d0 \ud2b9\uc815 \ubb38\uc790\uc5f4\uc774 \uc788\uc73c\uba74 \uc81c\uac70\ud55c\ub2e4&#8221; \uac19\uc740 \ub2e8\uc21c\ud55c \ud544\ud130 \ud558\ub098\ub85c \ubaa8\ub4e0 XSS\ub97c \ub9c9\uc73c\ub824\uace0 \ud558\uba74 \uc548 \ub41c\ub2e4\ub294 \uac83\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\ub370\uc774\ud130\uac00 \uc5b4\ub5a4 \ucee8\ud14d\uc2a4\ud2b8\uc5d0\uc11c \ucd9c\ub825\ub418\ub294\uc9c0<\/strong>\ub97c \uace0\ub824\ud574\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">CSRF<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>CSRF(Cross-Site Request Forgery)<\/strong>\ub294 \uc0ac\uc6a9\uc790\uac00 \ub85c\uadf8\uc778\ud55c \uc0c1\ud0dc\ub77c\ub294 \uc810\uc744 \uc545\uc6a9\ud574\uc11c \uc758\ub3c4\ud558\uc9c0 \uc54a\uc740 \uc694\uccad\uc744 \ubcf4\ub0b4\uac8c \ub9cc\ub4dc\ub294 \uacf5\uaca9\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4 \uc0ac\uc6a9\uc790\uac00 \uc5b4\ub5a4 \uc0ac\uc774\ud2b8\uc5d0 \ub85c\uadf8\uc778\ub418\uc5b4 \uc788\ub294 \uc0c1\ud0dc\uc5d0\uc11c \uacf5\uaca9\uc790\uac00 \ub9cc\ub4e0 \ud398\uc774\uc9c0\ub97c \ubc29\ubb38\ud588\ub2e4\uace0 \ud558\uc790.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\uc0ac\uc6a9\uc790 -> \uc545\uc131 \ud398\uc774\uc9c0 -> \uc0ac\uc6a9\uc790\uc758 \ube0c\ub77c\uc6b0\uc800 -> \uae30\uc874 \uc0ac\uc774\ud2b8\uc5d0 \uc694\uccad<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ubc29\uc5b4 \ubc29\ubc95\uc73c\ub85c CSRF Token, SameSite Cookie \ub4f1\uc758 \ubc29\ubc95\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\uad8c\ud55c \uac80\uc99d<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\ubcf4\uc548 \ubb38\uc81c\uc5d0\uc11c \uc790\uc8fc \ubc1c\uc0dd\ud558\ub294 \uac83\uc774 <strong>\uad8c\ud55c \uac80\uc99d \ub204\ub77d<\/strong>\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4 \uc11c\ubc84\uac00<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>GET \/user\/123<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub77c\ub294 \uc694\uccad\uc744 \ubc1b\uc558\ub2e4\uace0 \ud558\uc790.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc0ac\uc6a9\uc790\uac00 \ub85c\uadf8\uc778\ub418\uc5b4 \uc788\ub2e4\ub294 \uc0ac\uc2e4\ub9cc \ud655\uc778\ud558\uace0 \ub370\uc774\ud130\ub97c \ubc18\ud658\ud558\uba74 \ubb38\uc81c\uac00 \ub420 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\uc778\uc99d\ub428 + \uad8c\ud55c \ud655\uc778 \uc5c6\uc74c = \ub2e4\ub978 \uc0ac\uc6a9\uc790\uc758 \ub370\uc774\ud130 \uc811\uadfc \uac00\ub2a5<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc11c\ubc84\ub294<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\ud604\uc7ac \uc0ac\uc6a9\uc790 + \uc694\uccad \ub300\uc0c1 + \ud544\uc694\ud55c \uad8c\ud55c<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc744 \ud568\uaed8 \ud655\uc778\ud574\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud074\ub77c\uc774\uc5b8\ud2b8\uc5d0\uc11c \ubc84\ud2bc\uc744 \uc228\uae30\ub294 \uac83\ub9cc\uc73c\ub85c \uad8c\ud55c\uc744 \ubcf4\ud638\ud560 \uc218\ub294 \uc5c6\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud074\ub77c\uc774\uc5b8\ud2b8\ub294 \uacf5\uaca9\uc790\uac00 \uc218\uc815\ud560 \uc218 \uc788\uae30 \ub54c\ubb38\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\uad8c\ud55c \uac80\uc99d\uc740 \uc2e0\ub8b0\ud560 \uc218 \uc788\ub294 \uc11c\ubc84 \uce21\uc5d0\uc11c \uc218\ud589\ud574\uc57c \ud55c\ub2e4.<\/strong><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\uac8c\uc784\uc5d0\uc11c \ud2b9\ud788 \uc911\uc694\ud55c \uac83<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uc628\ub77c\uc778 \uac8c\uc784\uc5d0\uc11c\ub294 \ud074\ub77c\uc774\uc5b8\ud2b8\ub97c \uc644\uc804\ud788 \uc2e0\ub8b0\ud558\uba74 \uc548 \ub41c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud074\ub77c\uc774\uc5b8\ud2b8\uac00 \ub2e4\uc74c\uacfc \uac19\uc740 \uac12\uc744 \ubcf4\ub0b8\ub2e4\uace0 \ud558\uc790.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>damage = 100\ngold = 999999\nposition = (10000, 10000)<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc11c\ubc84\uac00 \uc774 \uac12\uc744 \uadf8\ub300\ub85c \ubc1b\uc544\ub4e4\uc774\uba74 \uce58\ud305\uc774 \uac00\ub2a5\ud574\uc9c4\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Client -> \"\ub0b4\uac00 100\uc758 \ub370\ubbf8\uc9c0\ub97c \uc92c\ub2e4\" -> Server -> \uadf8\ub300\ub85c \uc801\uc6a9<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774 \uad6c\uc870\ubcf4\ub2e4 \uc11c\ubc84\uac00 \uac8c\uc784 \uaddc\uce59\uc744 \uac80\uc99d\ud558\ub294 \uad6c\uc870\uac00 \uc548\uc804\ud558\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Client -> \uacf5\uaca9 \uc694\uccad -> Server -> \uac70\ub9ac \/ \ucfe8\ub2e4\uc6b4 \/ \uc2a4\ud0ef \/ \uc0c1\ud0dc \uac80\uc99d -> Damage \uacc4\uc0b0 -> \uac8c\uc784 \uc0c1\ud0dc \ubcc0\uacbd<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub7f0 \uad6c\uc870\ub97c <strong>Server Authoritative<\/strong> \ubc29\uc2dd\uc774\ub77c\uace0 \ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud074\ub77c\uc774\uc5b8\ud2b8\ub294 \uc785\ub825\uacfc \uc694\uccad\uc744 \uc804\ub2ec\ud558\uace0, \uc911\uc694\ud55c \uac8c\uc784 \uc0c1\ud0dc\uc640 \ud310\uc815\uc740 \uc11c\ubc84\uac00 \uacb0\uc815\ud55c\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ucd5c\uc18c \uad8c\ud55c \uc6d0\uce59<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\ud504\ub85c\uadf8\ub7a8\uc774\ub098 \uc0ac\uc6a9\uc790\uac00 \ud544\uc694\ud55c \uac83\ubcf4\ub2e4 \ub354 \ub9ce\uc740 \uad8c\ud55c\uc744 \uac16\uc9c0 \uc54a\ub3c4\ub85d \ud558\ub294 \uc6d0\uce59\uc744 <strong>Principle of Least Privilege<\/strong>\ub77c\uace0 \ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4 \uac8c\uc784 \uc11c\ubc84\uac00 \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0\uc11c \uc77d\uae30\ub9cc \ud558\uba74 \ub418\ub294 \uae30\ub2a5\uc774\ub77c\uba74 \ubaa8\ub4e0 \ud14c\uc774\ube14\uc5d0 \ub300\ud55c \uc218\uc815 \uad8c\ud55c\uae4c\uc9c0 \uc904 \ud544\uc694\uac00 \uc5c6\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\ud544\uc694 \uad8c\ud55c + \ucd5c\uc18c \ubc94\uc704<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub85c \uc81c\ud55c\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uad8c\ud55c\uc774 \uacfc\ub3c4\ud558\uac8c \uc8fc\uc5b4\uc838 \uc788\uc73c\uba74 \uacc4\uc815\uc774\ub098 \ud504\ub85c\uc138\uc2a4\uac00 \uce68\ud574\ub418\uc5c8\uc744 \ub54c \ud53c\ud574 \ubc94\uc704\ub3c4 \ucee4\uc9c4\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\uc138\uc158\uacfc \uc778\uc99d \uc815\ubcf4 \ubcf4\ud638<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uc778\uc99d \uc815\ubcf4\ub294 \ud0c8\ucde8\ub418\uba74 \uacc4\uc815 \uc790\uccb4\uac00 \uacf5\uaca9\uc790\uc5d0\uac8c \ub118\uc5b4\uac08 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub530\ub77c\uc11c<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>HTTPS \uc0ac\uc6a9<\/li>\n\n\n\n<li>\uc548\uc804\ud55c \ucfe0\ud0a4 \uc124\uc815<\/li>\n\n\n\n<li>\uc801\uc808\ud55c \ub9cc\ub8cc \uc2dc\uac04<\/li>\n\n\n\n<li>Refresh Token \uad00\ub9ac<\/li>\n\n\n\n<li>\uc138\uc158 \ubb34\ud6a8\ud654<\/li>\n\n\n\n<li>\uc778\uc99d \uc815\ubcf4 \ub85c\uadf8 \ub178\ucd9c \ubc29\uc9c0<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\ub4f1\uc744 \uace0\ub824\ud574\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud2b9\ud788 \ub85c\uadf8\uc5d0 \ub2e4\uc74c\uacfc \uac19\uc740 \uac12\uc744 \uadf8\ub300\ub85c \ub0a8\uae30\ub294 \uac83\uc740 \ud53c\ud574\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Authorization: Bearer &lt;token&gt;\npassword=...\nsession_id=...<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub85c\uadf8\ub294 \uc6b4\uc601\uc5d0\uc11c \uc0c1\ub2f9\ud788 \uc720\uc6a9\ud558\uc9c0\ub9cc \ub3d9\uc2dc\uc5d0 \ubbfc\uac10\ud55c \ub370\uc774\ud130\uac00 \uc313\uc774\uae30 \uc26c\uc6b4 \uc7a5\uc18c\uc774\uae30\ub3c4 \ud558\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ube44\ubc00\uc815\ubcf4 \uad00\ub9ac<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">API Key, Database Password, Private Key \uac19\uc740 \uac12\uc740 \uc18c\uc2a4 \ucf54\ub4dc\uc5d0 \uc9c1\uc811 \ub123\uc9c0 \uc54a\ub294 \uac83\uc774 \uc88b\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>const char* password = \"my-secret-password\";<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub7f0 \ucf54\ub4dc\ub294 Git\uc5d0 \uc62c\ub77c\uac00\ub294 \uc21c\uac04 \ubb38\uc81c\uac00 \ub420 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub300\uc2e0 \ud658\uacbd \ubcc0\uc218\ub098 Secret Manager \uac19\uc740 \ubcc4\ub3c4\uc758 \ube44\ubc00\uc815\ubcf4 \uad00\ub9ac \uc2dc\uc2a4\ud15c\uc744 \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Application -> Secret Manager -> Secret<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uadf8\ub9ac\uace0 \ube44\ubc00\uc815\ubcf4\uac00 Git\uc5d0 \ucee4\ubc0b\ub41c \uacbd\uc6b0 \ub2e8\uc21c\ud788 \ud30c\uc77c\uc744 \uc0ad\uc81c\ud558\ub294 \uac83\ub9cc\uc73c\ub85c \ucda9\ubd84\ud558\uc9c0 \uc54a\uc744 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Git\uc758 \uacfc\uac70 \ucee4\ubc0b\uc5d0 \uc774\ubbf8 \uac12\uc774 \ub0a8\uc544 \uc788\uae30 \ub54c\ubb38\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uadf8 \uacbd\uc6b0 \ud574\ub2f9 \ube44\ubc00\uc815\ubcf4\ub97c <strong>\uc989\uc2dc \ud3d0\uae30\ud558\uace0 \uc0c8\ub85c\uc6b4 \uac12\uc73c\ub85c \uad50\uccb4\ud558\ub294 \uac83<\/strong>\uc774 \uc6b0\uc120\uc774\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ub85c\uae45\uacfc \ubaa8\ub2c8\ud130\ub9c1<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\ubcf4\uc548\uc740 \uacf5\uaca9\uc744 \ub9c9\ub294 \uac83\ub9cc\uc73c\ub85c \ub05d\ub098\uc9c0 \uc54a\ub294\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uacf5\uaca9\uc774 \ubc1c\uc0dd\ud588\uc744 \ub54c \uc54c\uc544\ub0bc \uc218 \uc788\uc5b4\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Request -> Log -> Monitoring -> Alert -> Investigation<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4 \uc9e7\uc740 \uc2dc\uac04 \ub3d9\uc548 \ub3d9\uc77c\ud55c \uacc4\uc815\uc73c\ub85c \ub85c\uadf8\uc778 \uc2e4\ud328\uac00 \uc218\ucc9c \ubc88 \ubc1c\uc0dd\ud55c\ub2e4\uba74 \uc774\uc0c1 \uc9d5\ud6c4\ub85c \ubcfc \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub85c\uadf8\uc5d0\ub294 \ub2e4\uc74c\uacfc \uac19\uc740 \uc815\ubcf4\uac00 \uc720\uc6a9\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\uc694\uccad \uc2dc\uac04<\/li>\n\n\n\n<li>\uc694\uccad \uacbd\ub85c<\/li>\n\n\n\n<li>\uc0ac\uc6a9\uc790 \uc2dd\ubcc4\uc790<\/li>\n\n\n\n<li>\uacb0\uacfc<\/li>\n\n\n\n<li>\uc624\ub958 \ucf54\ub4dc<\/li>\n\n\n\n<li>IP \ub4f1\uc758 \uc694\uccad \uc815\ubcf4<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\ub2e4\ub9cc \ube44\ubc00\ubc88\ud638\ub098 \uc778\uc99d \ud1a0\ud070 \uac19\uc740 \ubbfc\uac10\ud55c \ub370\uc774\ud130\ub97c \ubb34\ubd84\ubcc4\ud558\uac8c \uae30\ub85d\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Rate Limiting<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">API\uac00 \uc678\ubd80\uc5d0 \uacf5\uac1c\ub418\uc5b4 \uc788\ub2e4\uba74 \uc694\uccad \ud69f\uc218\ub97c \uc81c\ud55c\ud560 \ud544\uc694\uac00 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Client -> Request -> Rate Limit -> Allow \/ Reject<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4 \ub85c\uadf8\uc778 API\uc5d0 \ucd08\ub2f9 \uc218\ucc9c \ubc88\uc758 \uc694\uccad\uc774 \ub4e4\uc5b4\uc624\ub294 \uac83\uc744 \uadf8\ub300\ub85c \ucc98\ub9ac\ud558\uac8c \ub450\uba74 \ubb34\ucc28\ubcc4 \ub300\uc785 \uacf5\uaca9\uc774\ub098 \ub9ac\uc18c\uc2a4 \uace0\uac08 \uacf5\uaca9\uc5d0 \uc545\uc6a9\ub420 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Rate Limiting\uc740 \ud2b9\uc815 API\uc758 \uc694\uccad \uc218\ub97c \uc81c\ud55c\ud574\uc11c \uc2dc\uc2a4\ud15c\uc758 \uc790\uc6d0\uacfc \uae30\ub2a5\uc744 \ubcf4\ud638\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub85c\uadf8\uc778, \uc778\uc99d \ucf54\ub4dc \ubc1c\uc1a1, \ube44\ubc00\ubc88\ud638 \uc7ac\uc124\uc815 \uac19\uc740 \uae30\ub2a5\uc5d0\uc11c \ud2b9\ud788 \uc911\uc694\ud558\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">DoS\uc640 DDoS<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uc11c\ube44\uc2a4\uac00 \uc815\uc0c1\uc801\uc73c\ub85c \ub3d9\uc791\ud558\uc9c0 \ubabb\ud558\ub3c4\ub85d \uacfc\ub3c4\ud55c \uc694\uccad\uc774\ub098 \ub9ac\uc18c\uc2a4 \uc0ac\uc6a9\uc744 \uc720\ubc1c\ud558\ub294 \uacf5\uaca9\uc744 <strong>DoS(Denial of Service)<\/strong>\ub77c\uace0 \ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc5ec\ub7ec \uc2dc\uc2a4\ud15c\uc5d0\uc11c \ub3d9\uc2dc\uc5d0 \uacf5\uaca9\ud558\ub294 \ud615\ud0dc\uac00 DDoS\ub2e4.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"205\" src=\"https:\/\/wayhope.kro.kr\/wp-content\/uploads\/2026\/08\/image-94-1024x205.png\" alt=\"\" class=\"wp-image-1897\" srcset=\"https:\/\/wayhope.kro.kr\/wp-content\/uploads\/2026\/08\/image-94-1024x205.png 1024w, https:\/\/wayhope.kro.kr\/wp-content\/uploads\/2026\/08\/image-94-300x60.png 300w, https:\/\/wayhope.kro.kr\/wp-content\/uploads\/2026\/08\/image-94-768x154.png 768w, https:\/\/wayhope.kro.kr\/wp-content\/uploads\/2026\/08\/image-94.png 1038w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\uc11c\ubc84 \uc785\uc7a5\uc5d0\uc11c\ub294 \uc815\uc0c1 \uc0ac\uc6a9\uc790\uc640 \uacf5\uaca9 \ud2b8\ub798\ud53d\uc744 \uad6c\ubd84\ud558\uace0, \ubd88\ud544\uc694\ud55c \uc694\uccad\uc744 \ucd5c\ub300\ud55c \ube68\ub9ac \ucc28\ub2e8\ud574\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Rate Limiting, \ubc29\ud654\ubcbd, \ub85c\ub4dc \ubc38\ub7f0\uc11c, CDN, DDoS \ubc29\uc5b4 \uc11c\ube44\uc2a4 \ub4f1 \uc5ec\ub7ec \uacc4\uce35\uc5d0\uc11c \ub300\uc751\ud55c\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ubcf4\uc548\uc740 \ud55c \ubc88\uc758 \ubc29\uc5b4\ub85c \ub05d\ub098\uc9c0 \uc54a\ub294\ub2e4<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uc2e4\uc81c \uc2dc\uc2a4\ud15c\uc5d0\uc11c\ub294 \ud558\ub098\uc758 \ubc29\uc5b4\ucc45\uc5d0 \uc758\uc874\ud558\uc9c0 \uc54a\ub294\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4 \ub85c\uadf8\uc778 \uc2dc\uc2a4\ud15c\uc774\ub77c\uba74<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>HTTPS  -> Input Validation  -> Authentication  -> Authorization  -> Rate Limiting  -> Logging  -> Monitoring<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ucc98\ub7fc \uc5ec\ub7ec \ubc29\uc5b4 \uacc4\uce35\uc744 \uad6c\uc131\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub7f0 \uc811\uadfc\uc744 <strong>Defense in Depth<\/strong>\ub77c\uace0 \ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud558\ub098\uc758 \ubc29\uc5b4\uac00 \ub6ab\ub838\uc744 \ub54c \ub2e4\uc74c \ubc29\uc5b4 \uacc4\uce35\uc774 \ud53c\ud574\ub97c \uc81c\ud55c\ud560 \uc218 \uc788\ub3c4\ub85d \ub9cc\ub4dc\ub294 \uac83\uc774\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ubcf4\uc548\uc744 \ubcf4\ub294 \uae30\ubcf8 \uad00\uc810<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\ubcf4\uc548 \ubb38\uc81c\ub97c \ub9cc\ub0ac\uc744 \ub54c \ud2b9\uc815 \uacf5\uaca9 \uc774\ub984\ubd80\ud130 \uc678\uc6b0\ub294 \uac83\ubcf4\ub2e4 \ub2e4\uc74c \uc9c8\ubb38\uc744 \uba3c\uc800 \ub358\uc9c0\ub294 \ud3b8\uc774 \uc88b\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\ubb34\uc5c7\uc744 \ubcf4\ud638\ud574\uc57c \ud558\ub294\uac00?\n\ub204\uad6c\ub97c \uc2e0\ub8b0\ud560 \uac83\uc778\uac00?\n\uc5b4\ub514\uc5d0\uc11c \uc678\ubd80 \uc785\ub825\uc774 \ub4e4\uc5b4\uc624\ub294\uac00?\n\ub204\uac00 \uc774 \ub370\uc774\ud130\uc5d0 \uc811\uadfc\ud560 \uc218 \uc788\ub294\uac00?\n\uad8c\ud55c \uac80\uc99d\uc740 \uc5b4\ub514\uc5d0\uc11c \ud558\ub294\uac00?\n\ubbfc\uac10\ud55c \ub370\uc774\ud130\ub294 \uc5b4\ub5bb\uac8c \uc800\uc7a5\ub418\ub294\uac00?\n\ub124\ud2b8\uc6cc\ud06c\uc5d0\uc11c\ub294 \uc5b4\ub5bb\uac8c \ubcf4\ud638\ub418\ub294\uac00?\n\uacf5\uaca9\uc774 \ubc1c\uc0dd\ud558\uba74 \uc5b4\ub5bb\uac8c \ubc1c\uacac\ud558\ub294\uac00?\n\uce68\ud574\uac00 \ubc1c\uc0dd\ud588\uc744 \ub54c \ud53c\ud574 \ubc94\uc704\ub97c \uc5b4\ub5bb\uac8c \uc904\uc774\ub294\uac00?<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774 \uc9c8\ubb38\ub4e4\uc774 \uacb0\uad6d \ubcf4\uc548 \uc124\uacc4\uc758 \ub300\ubd80\ubd84\uc744 \uad00\ud1b5\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ubcf4\uc548\uc740 \ud2b9\uc815 \ud574\ud0b9 \uae30\ubc95\uc744 \ub9c9\ub294 \uae30\uc220 \ud558\ub098\uac00 \uc544\ub2c8\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\uc2e0\ub8b0\ud558\uc9c0 \ub9d0\uc544\uc57c \ud560 \uac83\uc744 \uc2e0\ub8b0\ud558\uc9c0 \uc54a\uace0, \ud544\uc694\ud55c \uad8c\ud55c\ub9cc \uc8fc\uace0, \uc785\ub825\uc744 \uac80\uc99d\ud558\uace0, \uc911\uc694\ud55c \ub370\uc774\ud130\ub97c \ubcf4\ud638\ud558\uace0, \ubb38\uc81c\uac00 \ubc1c\uc0dd\ud588\uc744 \ub54c \ud53c\ud574\ub97c \uc81c\ud55c\ud558\uace0 \ucd94\uc801\ud560 \uc218 \uc788\ub3c4\ub85d \uc2dc\uc2a4\ud15c\uc744 \ub9cc\ub4dc\ub294 \uac83<\/strong>\uc5d0 \uac00\uae5d\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud2b9\ud788 \uac1c\ubc1c\uc790 \uc785\uc7a5\uc5d0\uc11c\ub294 &#8220;\ubcf4\uc548 \uae30\ub2a5\uc744 \ucd94\uac00\ud55c\ub2e4&#8221;\ub294 \uc0dd\uac01\ubcf4\ub2e4 <strong>\ucc98\uc74c\ubd80\ud130 \uc2dc\uc2a4\ud15c\uc758 \uc124\uacc4 \uc870\uac74\uc73c\ub85c \ubcf4\uc548\uc744 \ud3ec\ud568\uc2dc\ud0a4\ub294 \uac83<\/strong>\uc774 \ud6e8\uc52c \uc911\uc694\ud558\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\uc18c\ud504\ud2b8\uc6e8\uc5b4 \ubcf4\uc548\uc740 \uacb0\uad6d \uc2e0\ub8b0\ud560 \uc218 \uc5c6\ub294 \ud658\uacbd\uc5d0\uc11c \uc2dc\uc2a4\ud15c\uc744 \uc548\uc804\ud558\uac8c \ub3d9\uc791\uc2dc\ud0a4\ub294 \ubb38\uc81c\ub77c\uace0 \uc0dd\uac01\ud558\uba74 \ub41c\ub2e4. \uc778\ud130\ub137\uc5d0 \uc5f0\uacb0\ub41c \ud504\ub85c\uadf8\ub7a8\uc740 \uc0ac\uc6a9\uc790\uac00 \ubcf4\ub0b4\ub294 \ub370\uc774\ud130\ub97c \ubbff\uc744 \uc218 \uc5c6\ub2e4. \uc11c\ubc84\uc640 \ud1b5\uc2e0\ud558\ub294 \ud074\ub77c\uc774\uc5b8\ud2b8\ub3c4 \ubbff\uc744 \uc218 \uc5c6\uace0, \uc800\uc7a5\ub41c \ub370\uc774\ud130\uac00 \ud56d\uc0c1 \uc548\uc804\ud558\ub2e4\uace0 \uac00\uc815\ud560 \uc218\ub3c4 \uc5c6\ub2e4. \uadf8\ub798\uc11c \ubcf4\uc548\uc740 \ud2b9\uc815 \ub77c\uc774\ube0c\ub7ec\ub9ac \ud558\ub098\ub97c \uc0ac\uc6a9\ud558\ub294 \uac83\uc73c\ub85c \ub05d\ub098\ub294 \ubb38\uc81c\uac00 \uc544\ub2c8\ub2e4. \uc785\ub825\uac12\uc744 \uc5b4\ub5bb\uac8c \ucc98\ub9ac\ud558\ub294\uc9c0, \uc778\uc99d\uc744 \uc5b4\ub5bb\uac8c \ud558\ub294\uc9c0, \uad8c\ud55c\uc744 \uc5b4\ub5bb\uac8c \ud655\uc778\ud558\ub294\uc9c0, \ub370\uc774\ud130\ub97c [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[26],"tags":[],"class_list":["post-1624","post","type-post","status-publish","format-standard","hentry","category-computer-science"],"_links":{"self":[{"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=\/wp\/v2\/posts\/1624","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1624"}],"version-history":[{"count":2,"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=\/wp\/v2\/posts\/1624\/revisions"}],"predecessor-version":[{"id":1898,"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=\/wp\/v2\/posts\/1624\/revisions\/1898"}],"wp:attachment":[{"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1624"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1624"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1624"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}