์ฝ๋์ค๋ฅ ๋ณด์์ฝ์
ํ์ ๋ณํ ์ค๋ฅ, ์์(๋ฉ๋ชจ๋ฆฌ ๋ฑ) ์ ๋ถ์ ์ ํ ๋ฐํ ๋ฑ๊ณผ ๊ฐ์ด ๊ฐ๋ฐ์๊ฐ ๋ฒํ ์ ์๋ ์ฝ๋ฉ์ค๋ฅ๋ก ์ธํด ์ ๋ฐ
* Null Pointer ์ญ์ฐธ์กฐ
- ์์ธ
- Null๋ก ์ค์ ๋ ์ฐธ์กฐ ๋ณ์์ ์ฃผ์๊ฐ์ ์ฐธ์กฐํ๋ ๊ฒฝ์ฐ ๋ฐ์
- '์ผ๋ฐ์ ์ผ๋ก ๊ทธ ๊ฐ์ฒด๊ฐ Null์ด ๋ ์ ์๋ค'๋ผ๊ณ ํ๋ ๊ฐ์ ์ ์๋ฐํ์ ๋ ๋ฐ์
- ์ํฅ : ๊ณต๊ฒฉ์๊ฐ ์๋์ ์ผ๋ก Null ํฌ์ธํฐ ์ญ์ฐธ์กฐ๋ฅผ ์คํํ๋ ๊ฒฝ์ฐ, ๊ทธ ๊ฒฐ๊ณผ ๋ฐ์ํ๋ ์์ธ ์ํฉ์ ์ด์ฉํ์ฌ ์ถํ์ ๊ณต๊ฒฉ์ ๊ณํํ๋๋ฐ ์ฌ์ฉ
- ๋์ : Null์ด ๋ ์ ์๋ Reference๋ ์ฐธ์กฐํ๊ธฐ ์ ์ Null ๊ฐ์ธ์ง๋ฅผ ๊ฒ์ฌํ์ฌ ์์ ํ ๊ฒฝ์ฐ์๋ง ์ฌ์ฉ
* ๋ถ์ ์ ํ ์์ ํด์
- ์์ธ : ๋ฉ๋ชจ๋ฆฌ, ํ์ผ, DB ์ฐ๊ฒฐ๊ณผ ๊ฐ์ ์์๋ค์ ์ฌ์ฉ ํ ๋ฐ๋์ ์์์ ํด์ ํด์ผํ๋๋ฐ, ํ๋ก๊ทธ๋จ ์ค๋ฅ ๋๋ ์๋ฌ๋ก ์ฌ์ฉ์ด ๋๋ ์์์ ๋ฐํํ์ง ๋ชปํ๋ ๊ฒฝ์ฐ ๋ฐ์
- ์ํฅ
- ํด์ ํ์ง ์์ ์์์ด ๊ณ ๊ฐ๋์ด ๋์ด์ ํ ๋นํ ์ ์๋ ์ํ๊ฐ ๋จ
- ์์ ํด์ ์ฝ๋๊ฐ ์๋ชป๋ ๋ฃจํด์ ์์ด ์์คํ ์ ์ค๋ฅ ๋ฐ์
- ๋์
- ์์์ ํ๋ํ์ฌ ์ฌ์ฉํ ๋ค์์๋ ๋ฐ๋์ ์์์ ํด์ ํ์ฌ ๋ฐํ
- ์๋ฐ์ ๊ฒฝ์ฐ ๋ฐํ ์ฝ๋๋ finally{} ๋ธ๋ก์ ๊ธฐ์ ํ์ฌ ๋ฐ๋์ ์คํ
* ํด์ ๋ ์์ ์ฌ์ฉ
- ์์ธ : C๋ C++ ํ๋ก๊ทธ๋จ์ฒ๋ผ ๋ฉ๋ชจ๋ฆฌ ํด์ ๋ฅผ ๊ฐ๋ฐ์๊ฐ ์ํํด์ผ ํ๋ ๊ฒฝ์ฐ ํด์ ๋ ์์์ ๋ค์ ํด์ ํ๊ฑฐ๋, ํด์ ๋ ์์์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๋ฐ์
- ์ํฅ : ํด์ ํ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฐธ์กฐํ๊ฒ ๋๋ฉด ์์์น ๋ชปํ ๊ฐ ๋๋ ์ฝ๋๋ฅผ ์คํํ๊ฒ ๋์ด ์ค๋ฅ๋ ๋น์ ์ ์คํ ๋ฐ์
* ์ด๊ธฐํ๋์ง ์์ ๋ณ์ ์ฌ์ฉ
- ์์ธ : C๋ C++์ ๊ฒฝ์ฐ ์คํ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋๋ ์ง์ญ๋ณ์๋ ์์ฑ๋ ๋ ์๋์ผ๋ก ์ด๊ธฐํ๋์ง ์๋๋ฐ, ์ด ๋ณ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๋ฐ์
- ์ํฅ : ์ด๊ธฐํ๋์ง ์์ ๋ณ์๋ ์ด์ ํจ์์์ ์ฌ์ฉ๋์๋ ๋ด์ฉ์ ํฌํจ, ๊ณต๊ฒฉ์๋ ์ด๋ฌํ ์ฝ์ ์ ์ด์ฉํ์ฌ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋์ด ์๋ ๊ฐ์ ์ฝ๊ฑฐ๋ ํน์ ์ฝ๋๋ฅผ ์คํ ๊ฐ๋ฅ
- ๋์ : ๋ชจ๋ ๋ณ์๋ ์ฌ์ฉ ์ ์ ์ฌ๋ฐ๋ฅธ ์ด๊ธฐ๊ฐ์ ํ ๋น
* ์ ๋ขฐํ ์ ์๋ ๋ฐ์ดํฐ์ ์ญ์ง๋ ฌํ
- ์์ธ : ์ก์ ์๊ฐ ๋คํธ์ํฌ๋ฅผ ์ด์ฉํ์ฌ ์ง๋ ฌํ(Serialization)๋ ์ ๋ณด๋ฅผ ์์ ์์๊ฒ ์ ๋ฌํ๋ ๊ณผ์ ์์, ๊ณต๊ฒฉ์๊ฐ ์ ์ก ๋๋ ์ ์ฅ๋ ์คํธ๋ฆผ์ ์กฐ์ํ ์ ์๋ ๊ฒฝ์ฐ ๋ฐ์
- ์ํฅ : ์ ๋ขฐํ ์ ์๋ ์ญ์ง๋ ฌํ๋ฅผ ์ด์ฉํ์ฌ ๋ฌด๊ฒฐ์ฑ ์นจํด, ์๊ฒฉ ์ฝ๋ ์คํ, ์๋น์ค ๊ฑฐ๋ถ ๊ณต๊ฒฉ ๋ฑ์ด ๋ฐ์
- ๋์
- ์ ๋ขฐํ ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ์ญ์ง๋ ฌํํ์ง ์๋๋ก ์์ฉํ๋ก๊ทธ๋จ์ ๊ตฌ์ฑ
- ๋ฏผ๊ฐ์ ๋ณด ๋๋ ์ค์์ ๋ณด๋ฅผ ์ ์ก ์, ์ํธํ ํต์ ์ ์ ์ฉํ์ง ๋ชปํ๋ ๊ฒฝ์ฐ, ์ก์ ์ธก์์ ์๋ช ์ ์ถ๊ฐํ๊ณ ์์ ์ธก์์ ์๋ช ์ ํ์ธํ์ฌ ๋ฐ์ดํฐ์ ๋ฌด๊ฒฐ์ฑ์ ๊ฒ์ฆ
- ์ ๋ขฐํ ์ ์๋ ๋ฐ์ดํฐ์ ์๋ณ์ ์ํด ์ญ์ง๋ ฌํ ๋์์ ๋ฐ์ดํฐ๊ฐ ์ฌ์ ์ ๊ฒ์ฆ๋ ํด๋์ค๋ง์ ํฌํจํ๋์ง ๊ฒ์ฆํ๊ฑฐ๋, ์ ํ๋ ์คํ ๊ถํ์ ๊ตฌ์ฑํ์ฌ ์ญ์ง๋ ฌํ ์ฝ๋๋ฅผ ์คํ
'software engineering > ์ํํธ์จ์ด๊ฐ๋ฐ๋ณด์' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Secure] API ์ค์ฉ ๋ณด์์ฝ์ (0) | 2023.11.07 |
---|---|
[Secure] ์บก์ํ ๋ณด์์ฝ์ (0) | 2023.11.07 |
[Secure] ์๋ฌ ์ฒ๋ฆฌ ๋ณด์ ์ฝ์ (0) | 2023.10.30 |
[Secure] ์๊ฐ ๋ฐ ์ํ ๋ณด์ ์ฝ์ (0) | 2023.10.30 |
[Secure] ๋ณด์ ๊ธฐ๋ฅ ๋ณด์ ์ฝ์ (0) | 2023.10.30 |