์๊ฐ ๋ฐ ์ํ ๋ณด์ ์ฝ์
๋์ ๋๋ ๊ฑฐ์ ๋์ ์ํ์ ์ง์ํ๋ ๋ณ๋ ฌ ์์คํ ์ด๋, ํ๋ ์ด์์ ํ๋ก์ธ์ค๊ฐ ๋์๋๋ ํ๊ฒฝ์์ ์๊ฐ ๋ฐ ์ํ๋ฅผ ๋ถ์ ์ ํ๊ฒ ๊ด๋ฆฌํ์ฌ ๋ฐ์ํ ์ ์๋ ๋ณด์ ์ฝ์
* ๊ฒฝ์์กฐ๊ฑด: ๊ฒ์ฌ์์ ๊ณผ ์ฌ์ฉ ์์ (TOCTOU)
- ์์ธ : ๋ณ๋ ฌ ์คํ ํ๊ฒฝ์ ์์ฉํ๋ก๊ทธ๋จ์์ ์์(ํ์ผ, ์์ผ ๋ฑ)์ ๊ฒ์ฌํ๋ ์์ ๊ณผ, ์์์ ์ฌ์ฉํ๋ ์์ ์ ์ํ๊ฐ ๋ฌ๋ผ ์ค๋์์ ์ผ์ผํค๋ ๊ฒฝ์ฐ ๋ฐ์
- ์ํฅ : ํ๋ก๊ทธ๋จ์ด ๊ต์ฐฉ ์ํ(dead lock)์ ๋น ์ง๊ฑฐ๋, ๊ฒฝ์(๊ณต์ ) ์์์ ๋ณ์กฐ๋ ์ญ์ ๋ฐ ๊ธฐํ ๋๊ธฐํ ์ค๋ฅ ๋ฑ์ด ๋ฐ์
- ๋์
- ๋๊ธฐํ ๊ตฌ๋ฌธ(Synchronized, Mutex ๋ฑ) ์ ์ด์ฉํ์ฌ ํ ๋ฒ์ ํ๋์ ํ๋ก์ธ์ค๋ง ์ ๊ทผ ๊ฐ๋ฅํ๋๋ก ํ๋ก๊ทธ๋จ ์์ฑ
- ์ฑ๋ฅ์ ๋ฏธ์น๋ ์ํฅ์ ์ต์ํํ๊ธฐ ์ํด ์๊ณ์ฝ๋ ์ฃผ๋ณ๋ง ๋๊ธฐํ ๊ตฌ๋ฌธ์ ์ฌ์ฉ
* ์ข ๋ฃ๋์ง ์๋ ๋ฐ๋ณต๋ฌธ ๋๋ ์ฌ๊ทํจ์
- ์์ธ : ์ฌ๊ทํจ์์ ์ํ ํ์๋ฅผ ์ ์ดํ์ง ๋ชปํ์ฌ, ๋ฉ๋ชจ๋ฆฌ๋ ํ๋ก๊ทธ๋จ ์คํ ๋ฑ์ ์์์ ๊ณผ๋คํ๊ฒ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ
- ์ํฅ : ๋ฌดํ ๋ฃจํ์ ๋น ์ง๊ฒ ๋๊ณ , ์์ ๊ณ ๊ฐ์ ์ ๋ฐํจ์ผ๋ก์จ ์์คํ ์ ์ ์์ ์ธ ์๋น์ค ๋ฐฉํด
- ๋์ : ๋ชจ๋ ์ฌ๊ท ํธ์ถ ์, ์ฌ๊ท ํธ์ถ ํ์๋ฅผ ์ ํํ๊ฑฐ๋, ์ด๊ธฐ๊ฐ์ ์ค์ (์์)ํ์ฌ ์ฌ๊ท ํธ์ถ์ ์ ํ
'software engineering > ์ํํธ์จ์ด๊ฐ๋ฐ๋ณด์' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Secure] ์บก์ํ ๋ณด์์ฝ์ (0) | 2023.11.07 |
---|---|
[Secure] ์ฝ๋ ์ค๋ฅ ๋ณด์ ์ฝ์ (0) | 2023.10.30 |
[Secure] ์๋ฌ ์ฒ๋ฆฌ ๋ณด์ ์ฝ์ (0) | 2023.10.30 |
[Secure] ๋ณด์ ๊ธฐ๋ฅ ๋ณด์ ์ฝ์ (0) | 2023.10.30 |
[Secure] ์ธ์ฆ ๋ฐ ๊ถํ๊ด๋ฆฌ / ์ ๊ทผ ์ ์ด (1) | 2023.10.11 |