oopsys.tistory.com/177
ํจํน์ด๋?
ํจํน์ ์คํ์์ถ์ด๋ผ๋ ๋ป์ ๊ฐ์ง๋ค.
์ผ๋ฐ์ ์ผ๋ก ZIP, RAR๊ณผ ๊ฐ์ ์์ถ์ ๊ทธ ์์ถ์ ํด์ ์์ผ์ผ ํด๋น ํ๋ก๊ทธ๋จ์ ์คํ์ํฌ ์ ์๋ค.
ํ์ง๋ง ํจํน์ ์๋ ๊ทธ๋๋ก ์ผ๋ฐ ํ๋ก๊ทธ๋จ์ฒ๋ผ ์คํ ๊ฐ๋ฅํ๋ค.
์คํ(PE) ํ์ผ์ ๋์์ผ๋ก ํ์ผ ๋ด๋ถ์ ์์ถํด์ ์ฝ๋๋ฅผ ํฌํจํ๊ณ ์์ด์ ์คํ๋๋ ์๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์์ ์์ถ์ ํด์ ์ํจ ํ ์คํ์ํค๋ ๊ธฐ์ ์ด๋ค.
๋ค์ ๋งํ๋ฉด ์์ถ์ ํธ๋ ๊ณผ์ ์์ด ๋ฐ๋ก ํ๋ก๊ทธ๋จ์ ์คํํ ์ ์๋ ๊ฒ์ ์คํ์์ถ์ด๋ผ๊ณ ํ๋ค.
ํจํน์ ํ๋ ์ด์
- ๋ฐ์ดํฐ ์์ถ(ํ๋ก๊ทธ๋จ ํฌ๊ธฐ ์ค์ด๊ธฐ)
- ์
์ฑ์ฝ๋์์๋ ์์ ์ฉ๋์ผ๋ก ๋น ๋ฅด๊ฒ ๋ง์ด ํผ์ง๊ฒ ํ๋ฉฐ, ๋ถ์์ด ๋ถ๊ฐ๋ฅํ๊ฒ ํ๊ธฐ ์ํ ๋ชฉ์
- ๋ฐ์ดํฐ ๋ณดํธ : anti-reversing, anti-disassembling, anti-dumping
- ์ทจ์ฝํ๊ฒ ๋ํ๋ ์ ์๋ ์ค์์ ๋ณด๋ฅผ ํฌํจํ ์ดํ๋ ํค์์
์ ๋ํ ๋
ธ์ถ ์ต์ํ
-->๋ฆฌ๋ฒ์ฑ ๋ฐฉํด ๋ชฉ์ , ์ํฐ ๋ฆฌ๋ฒ์ฑ! ๋ชฉ์ ์
๋น์์ค ์์ถ vs ์์ค ์์ถ
๋น์์ค ์์ถ
์๋ณธ์ ๋ฐ์ดํฐ๋ฅผ ์กฐ๊ธ๋ ํผ์ํ์ง ์๊ณ ์ฉ๋์ ์ค์ด๋ ๊ฒ์ ๋น์์ค(๋๋ ๋ฌด์์ค) ์์ถ์ด๋ผ ํ๋ค.
ํ์ผ(๋ฐ์ดํฐ)ํฌ๊ธฐ๋ฅผ ์ค์ฌ์ ๋ณด๊ด ๋ฐ ์ด๋์ ์ฉ์ดํ๋๋ก ํ๋ ค๋ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉ๋๋ค.
ํ์ผ์ ์ฌ์ฉํ ๋๋ ํด๋น ์์ถ์ ํด์ ํด์ ์ฌ์ฉํ๋ค(์ด ๊ณผ์ ์์ ๋ฐ์ดํฐ์ ๋ฌด๊ฒฐ์ฑ์ด ๋ณด์ฅ๋์ด์ผ ํ๋ค.)
์์ค ์์ถ
ํ์ผ(๋ฐ์ดํฐ)์ ์๋์ ์ผ๋ก ์์์ ์ฃผ์ด ์์ถ๋ฅ ์ ๋์ด๋ ๊ฒ์ ์์ค ์์ถ์ด๋ผ๊ณ ํ๋ค.
์ฃผ๋ก ๋ฉํฐ๋ฏธ๋์ด ํ์ผ๋ค์์ ์ธ๊ฐ์ด ์ง๊ฐํ๊ธฐ ํ๋ ๋ฒ์์ ๋ฐ์ดํฐ๋ฅผ ๋ฒ๋ฆฌ๊ณ ์์ถํ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ค.
์์ถ์ ํ๋ ๊ณผ์ ์์ ์๋ณธ ๋ฐ์ดํฐ๊ฐ ์์ค๋๊ธฐ ๋๋ฌธ์ ์๋ณธ์ผ๋ก ๋๋๋ฆด ์ ์๋ค.
๋ฐ์ดํฐ ์ธก๋ฉด์์ ๋ณผ ๋ ์ฐจ์ด๊ฐ ๋ฐ์ํ๋ค.
ํ์ง๋ง ์ฌ๋์ด ๋ณด๊ธฐ์๋ ๊ทธ ์ฐจ์ด๊ฐ ๊ฑฐ์ ๊ตฌ๋ถํ ์ ์๋ ์์ค์ด๊ธฐ ๋๋ฌธ์ ๋ง์ด ์ฌ์ฉ๋๋ ์์ถ ๋ฐฉ๋ฒ์ด๋ค.
์ผ๋ฐ ์์ถ vs ์คํ ์์ถ
์ผ๋ฐ ์์ถ์ ์์์ ๋งํ ๊ฒ์ฒ๋ผ ๋น์์ค ์์ถ๊ณผ ์์ค ์์ถ์ผ๋ก ๋๋์ด์ง๋ค.
๋ฐ๋ก ์ค๋ช
ํ ํ์๋ ์์ ๊ฒ ๊ฐ๋ค.
์คํ ์์ถ์ ์คํ(PE : Portable Executable)ํ์ผ์ ๋์์ผ๋ก ํ์ผ ๋ด๋ถ์ ์์ถํด์ ์ฝ๋๋ฅผ ํฌํจํ๊ณ ์์ด ์คํ๋๋ ์๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์์ ์์ถ์ ํด์ ์ํจ ํ ์คํ์ํค๋ ๊ธฐ์ ์ด๋ค.
์ถ์ฒ : ๋ฆฌ๋ฒ์ฑ ํต์ฌ ์๋ฆฌ
ํจ์ปค
PE ํจ์ปค(Packer)๋ ์คํ ํ์ผ ์์ถ๊ธฐ๋ฅผ ๋งํ๋ค.
์ ํํ ๋ช
์นญ์ Run-Time ํจ์ปค๋ก, PE ํ์ผ ์ ๋ฌธ ์์ถ๊ธฐ์ด๋ค.
์ฌ์ฉ๋ชฉ์
- PE ํ์ผ์ ํฌ๊ธฐ๋ฅผ ์ค์ด๊ณ ์ ํ๋ ๋ชฉ์
- PE ํ์ผ์ ๋ด๋ถ ์ฝ๋์ ๋ฆฌ์์ค๋ฅผ ๊ฐ์ถ๊ธฐ ์ํ ๋ชฉ์
ํจ์ปค ์ข
๋ฅ
ํจ์ปค๋ ํฌ๊ฒ ๋๊ฐ์ง ์ข
๋ฅ๋ก ๋๋ ์ ์๋ค.
ํ๋ฒํ PEํ์ผ์ ๋ง๋ค์ด ๋ด๋ ์์ํ ์๋์ ํจ์ปค์ ์๋ณธ ํ์ผ์ ํฌ๊ฒ ๋ณ๊ฒฝํ๊ณ , PE ํค๋๋ฅผ ์ฌํ๊ฒ ํผ์์ํค๋ ์ฝ๊ฐ ๋ถ์ํ ์๋์ ํจ์ปค๋ก ๋๋ ์ ์๋ค.
์์ํ ์๋์ ํจ์ปค(VirusTotal์์ ์ง๋จ ์ ๋จ) : UPX, ASPack ๋ฑ
๋ถ์ํ ์๋์ ํจ์ปค(VirusTotal์์ ์ง๋จ๋จ) : UPack, PESpin, NSAnti ๋ฑ
ํจํน๋ ํ์ผ์ ํน์ง
Section Name์ด ์ผ๋ฐ์ ์ด์ง ์๊ฑฐ๋ ํจ์ปค์ ์ด๋ฆ์ ๊ฐ์ง๊ฒ ๋๋ค.
Code Section์ ๋ณดํต ์ฒซ๋ฒ์งธ Section์ด์ง๋ง, ํจํน ์ ์ฒซ์งธ๊ฐ ์๋ ์ ์๋ค.
Code Section์ ๋ณดํต EP๋ฅผ ๊ฐ๋ฆฌํค๋ฏ๋ก MEM_Excute๊ถํ์ ๊ฐ์ง์ง๋ง, ํจํน ์ ๊ทธ๋ ์ง ์์ ์ ์๋ค.
Unpacking ์, Packing๋ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋์ด ์๋ ์ธ์
์ด ๋น์ด์๊ฑฐ๋ Raw Size์ Virtual Size์ ์ฐจ์ด๊ฐ ์ง๋์น๊ฒ ํฐ ์ธ์
์ด ์กด์ฌํ๋ค.