software engineering/์†Œํ”„ํŠธ์›จ์–ด๊ฐœ๋ฐœ๋ณด์•ˆ

[Secure] ์—๋Ÿฌ ์ฒ˜๋ฆฌ ๋ณด์•ˆ ์•ฝ์ 

jjingle 2023. 10. 30. 14:48

์—๋Ÿฌ ์ฒ˜๋ฆฌ ๋ณด์•ˆ ์•ฝ์ 

์—๋Ÿฌ๋ฅผ ์ฒ˜๋ฆฌํ•˜์ง€ ์•Š๊ฑฐ๋‚˜, ๋ถˆ์ถฉ๋ถ„ํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•˜์—ฌ ์—๋Ÿฌ ์ •๋ณด์— ์ค‘์š”์ •๋ณด(์‹œ์Šคํ…œ ๋‚ด๋ถ€ ์ •๋ณด ๋“ฑ)๊ฐ€ ํฌํ•จ๋  ๋•Œ ๋ฐœ์ƒ,
์—๋Ÿฌ๋ฅผ ๋ถ€์ ์ ˆํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•˜์—ฌ ๋ฐœ์ƒํ•˜๋Š” ๋ณด์•ˆ์•ฝ์ 

 

* ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€ ์ •๋ณด ๋…ธ์ถœ

  • ์›์ธ : ์‘์šฉํ”„๋กœ๊ทธ๋žจ์ด (์‹คํ–‰ํ™˜๊ฒฝ, ์‚ฌ์šฉ์ž ๋“ฑ ๊ด€๋ จ ๋ฐ์ดํ„ฐ ๋˜๋Š” ์‹œ์Šคํ…œ์˜ ๋‚ด๋ถ€๋ฐ์ดํ„ฐ ๋“ฑ) ๋ฏผ๊ฐํ•œ ์ •๋ณด๋ฅผ ํฌํ•จํ•˜๋Š” ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ์™ธ๋ถ€์— ์ œ๊ณตํ•˜๋Š” ๊ฒฝ์šฐ ๋ฐœ์ƒ
  • ์˜ํ–ฅ
    • ์—๋Ÿฌ ๋ฐœ์ƒ ์‹œ, ์—๋Ÿฌ ์ด๋ฆ„์ด๋‚˜ ์Šคํƒ ํŠธ๋ ˆ์ด์Šค๋ฅผ ์ถœ๋ ฅํ•  ๋•Œ ํ”„๋กœ๊ทธ๋žจ ๋‚ด๋ถ€๊ตฌ์กฐ๋ฅผ ์‰ฝ๊ฒŒ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์Œ
    • ๊ณต๊ฒฉ์ž๋Š” ์—๋Ÿฌ ๋ฉ”์‹œ์ง€๋ฅผ ํ†ตํ•ด ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์ค‘ ๋ฐœ์ƒ๋œ ์ƒ์„ธํ•œ ์˜ค๋ฅ˜ ์ •๋ณด๋ฅผ ์–ป๊ณ , ๊ณต๊ฒฉ์— ํ™œ์šฉ
  • ๋Œ€์‘
    • ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๋Š” ์ •ํ•ด์ง„ ์‚ฌ์šฉ์ž์—๊ฒŒ ์œ ์šฉํ•œ ์ตœ์†Œํ•œ์˜ ์ •๋ณด๋งŒ ํฌํ•จํ•˜๋„๋ก ์กฐ์น˜
    • ์†Œ์Šค์ฝ”๋“œ์—์„œ ์˜ˆ์™ธ ์ƒํ™ฉ์€ ๋‚ด๋ถ€์ ์œผ๋กœ๋งŒ ์ฒ˜๋ฆฌํ•˜๊ณ , ์‚ฌ์šฉ์ž์—๊ฒŒ ์‹œ์Šคํ…œ ๋‚ด๋ถ€ ์ •๋ณด ๋“ฑ ๋ฏผ๊ฐํ•œ ์ •๋ณด๋ฅผ ํฌํ•จํ•˜๋Š” ์˜ค๋ฅ˜๋ฅผ ์ถœ๋ ฅํ•˜์ง€ ์•Š๋„๋ก ๋ฏธ๋ฆฌ ์ •์˜๋œ ๋ฉ”์‹œ์ง€๋ฅผ ์ œ๊ณตํ•˜๋„๋ก ์„ค์ •

 

* ์˜ค๋ฅ˜ ์ƒํ™ฉ ๋Œ€์‘ ๋ถ€์žฌ

  • ์›์ธ : ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋ฐœ์ƒ๋œ ์˜ค๋ฅ˜ ์ƒํ™ฉ์— ๋Œ€ํ•ด ์•„๋ฌด๋Ÿฐ ์กฐ์น˜๋ฅผ ํ•˜์ง€์•Š์•„, ๊ฐœ๋ฐœ์ž๊ฐ€ ์˜๋„ํ•˜์ง€ ์•Š์€ ๋ฐฉํ–ฅ์œผ๋กœ ํ”„๋กœ๊ทธ๋žจ์ด ๋™์ž‘ํ•˜๋Š” ๊ฒฝ์šฐ ๋ฐœ์ƒ
  • ์˜ํ–ฅ
    • DB ์—ฐ๊ฒฐ ์ƒํƒœ์—์„œ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ, ์˜ˆ์™ธ ์ฒ˜๋ฆฌ์—์„œ ์—ฐ๊ฒฐ ํ•ด์ œ ์ž‘์—…์ด ์ œ๋Œ€๋กœ ์ˆ˜ํ–‰๋˜์ง€ ์•Š๋Š”๋‹ค๋ฉด, ์‹œ์Šคํ…œ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ์„ ํ•  ์ˆ˜ ์—†๊ฒŒ ๋  ์ˆ˜ ์žˆ์Œ
    • ์˜ˆ์™ธ์ƒํƒœ์— ๋Œ€ํ•œ ๋กœ๊น… ์ •๋ณด๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์•„ ์˜ค๋ฅ˜ ์ƒํ™ฉ์— ๋Œ€ํ•œ ์‚ฌํ›„ ์ฒ˜๋ฆฌ๊ฐ€ ์–ด๋ ค์›€
  • ๋Œ€์‘
    • ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„์— ๋Œ€ํ•˜์—ฌ ์ œ์–ด๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ ์ ˆํ•˜๊ฒŒ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

 

* ๋ถ€์ ์ ˆํ•œ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

  • ์›์ธ : ํ”„๋กœ๊ทธ๋žจ ์ˆ˜ํ–‰ ์ค‘ ํ•จ์ˆ˜์˜ ๊ฒฐ๊ณผ๊ฐ’์— ๋Œ€ํ•œ ์ ์ ˆํ•œ ์ฒ˜๋ฆฌ, ์˜ˆ์™ธ์ƒํ™ฉ์— ๋Œ€ํ•œ ์กฐ๊ฑด์„ ์ ์ ˆํ•˜๊ฒŒ ๊ฒ€์‚ฌ(Check)ํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ ๋ฐœ์ƒ
  • ์˜ํ–ฅ : ๊ฐ๊ฐ์˜ ์ƒํ™ฉ(Exception)์— ๋Œ€ํ•ด ์ ์ ˆํ•œ ๋Œ€์‘์„ ํ•  ์ˆ˜ ์—†์–ด, ๋ถ€์ ์ ˆํ•œ ๋ฆฌ์†Œ์Šค ๊ด€๋ฆฌ๋กœ ์‹œ์Šคํ…œ ์‹คํ–‰ ์ค‘์ง€ ๊ฐ€๋Šฅ
  • ๋Œ€์‘ : ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ชจ๋“  ํ•จ์ˆ˜์˜ ๊ฒฐ๊ณผ๊ฐ’์„ ๊ฒ€์‚ฌํ•˜์—ฌ, ๊ทธ ๊ฐ’์ด ์˜๋„ํ–ˆ๋˜ ๊ฐ’์ธ์ง€ ๊ฒ€์‚ฌํ•˜๊ณ , ์˜ˆ์™ธ์ฒ˜๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ์— ๊ด‘๋ฒ”์œ„ํ•œ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ๋Œ€์‹  ๊ตฌ์ฒด์ ์ธ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๋ฅผ ์ˆ˜ํ–‰