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

[Secure] API ์˜ค์šฉ ๋ณด์•ˆ์•ฝ์ 

jjingle 2023. 11. 7. 15:46

 API ์˜ค์šฉ ๋ณด์•ˆ์•ฝ์ 

์˜๋„๋œ ์‚ฌ์šฉ์— ๋ฐ˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ API๋ฅผ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜, ๋ณด์•ˆ์— ์ทจ์•ฝํ•œ API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ณด์•ˆ ์•ฝ์ 

 

 

* DNS lookup ์— ์˜์กดํ•œ ๋ณด์•ˆ๊ฒฐ์ •

1. ์›์ธ

  • ๋„๋ฉ”์ธ๋ช…์— ์˜์กดํ•ด์„œ ๋ณด์•ˆ๊ฒฐ์ •(์ธ์ฆ ๋ฐ ์ ‘๊ทผ ํ†ต์ œ ๋“ฑ)์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ

2. ์˜ํ–ฅ

  • ๊ณต๊ฒฉ์ž๊ฐ€ DNS ์—”ํŠธ๋ฆฌ๋ฅผ ์†์ผ ์ˆ˜ ์žˆ์Œ(DNS spoofing)
  • ๋กœ์ปฌ DNS ์„œ๋ฒ„์˜ ์บ์‹œ๊ฐ€ ๊ณต๊ฒฉ์ž์— ์˜ํ•ด ์˜ค์—ผ๋˜๋ฉด, ์‚ฌ์šฉ์ž์™€ ํŠน์ • ์„œ๋ฒ„๊ฐ„์— ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ์ด ๊ณต๊ฒฉ์ž๋ฅผ ๊ฒฝ์œ ํ•˜๋„๋ก ์œ ๋„
  • ๊ณต๊ฒฉ์ž๊ฐ€ ๋งˆ์น˜ ๋™์ผ ๋„๋ฉ”์ธ์— ์†ํ•œ ์„œ๋ฒ„์ธ ๊ฒƒ ์ฒ˜๋Ÿผ ์œ„์žฅ (ํŒŒ๋ฐ)

3. ๋Œ€์‘

  • ๋ณด์•ˆ๊ฒฐ์ •์—์„œ ๋„๋ฉ”์ธ๋ช…์„ ์ด์šฉํ•œ DNS lookup์„ ํ•˜์ง€ ์•Š๋„๋ก ์กฐ์น˜

 

 

* ์ทจ์•ฝํ•œ API ์‚ฌ์šฉ

1. ์›์ธ

  • ๋ณด์•ˆ์ƒ ๊ธˆ์ง€๋œ(banned) ํ•จ์ˆ˜์ด๊ฑฐ๋‚˜, ๋ถ€์ฃผ์˜ํ•˜๊ฒŒ ์‚ฌ์šฉ๋  ๊ฐ€๋Šฅ์„ฑ์ด ๋งŽ์€ API๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๋ฐœ์ƒ

2. ์˜ํ–ฅ

  • J2EE ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ปจํ…Œ์ด๋„ˆ์—์„œ ์ œ๊ณตํ•˜๋Š” ์ž์›์—ฐ๊ฒฐ๊ด€๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ์ง์ ‘ ์ œ์ž‘ํ•˜๋Š” ๊ฒฝ์šฐ, ์—๋Ÿฌ๋ฅผ ์œ ๋ฐœํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— J2EE ํ‘œ์ค€์—์„œ ๊ธˆ์ง€
  • J2EE ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ํ”„๋ ˆ์ž„์›Œํฌ ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ , ์†Œ์ผ“์„ ์ง์ ‘ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์ฑ„๋„๋ณด์•ˆ, ์—๋Ÿฌ ์ฒ˜๋ฆฌ, ์„ธ์…˜ ๊ด€๋ฆฌ ๋“ฑ ๋‹ค์–‘ํ•œ ๊ณ ๋ ค ์‚ฌํ•ญ ํ•„์š”
  • J2EE์—์„œ System.exit()์˜ ์‚ฌ์šฉ์€ ์ปจํ…Œ์ด๋„ˆ๊นŒ์ง€ ์ข…๋ฃŒ์‹œํ‚ด

3. ๋Œ€์‘

  • J2EE ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ปจํ…Œ์ด๋„ˆ์—์„œ ์ œ๊ณตํ•˜๋Š” ์—ฐ๊ฒฐ ๊ด€๋ฆฌ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉ
  • ์†Œ์ผ“์„ ์ง์ ‘ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€์‹ , ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ ์ œ๊ณตํ•˜๋Š” ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ์„ ์‚ฌ์šฉ
  • J2EE ํ”„๋กœ๊ทธ๋žจ์—์„œ System.exit()๋ฅผ ์‚ฌ์šฉ ๊ธˆ์ง€
  • ๋ณด์•ˆ ๋ฌธ์ œ๋กœ ์ธํ•ด ๊ธˆ์ง€๋œ ํ•จ์ˆ˜๋Š” ์ด๋ฅผ ๋Œ€์ฒดํ•  ์ˆ˜ ์žˆ๋Š” ์•ˆ์ „ํ•œ ํ•จ์ˆ˜๋กœ ์‚ฌ์šฉ