
burner-net v1.3.0
์ ๋ก ํธ๋ฌ์คํธ ์ํฐ-ํฌ๋ ์ HTTP ํด๋ผ์ด์ธํธ. ๋น๋ฐ์ ์ญ์ ํฉ๋๋ค. ํ์ ์ ์ฐจ๋จํฉ๋๋ค. ์คํ ์ค ํฑํฌ ์์ CPR. ๐ป
BurnerNet
์ ๋ก ํธ๋ฌ์คํธ, ์ํฐ-ํฌ๋ ์ HTTP ํด๋ผ์ด์ธํธ. ๋น๋ฐ์ ์ง์ฐ๊ณ , ํ์ ์ ๋์ต๋๋ค. ์คํ ์ค ํฑํฌ์ CPR. ๐ป
BurnerNet์ C++20 ์ํฐ-ํฌ๋ ์ HTTP ํด๋ผ์ด์ธํธ์ ๋๋ค. ๋ก์ปฌ ๋จธ์ ์ ์์ ํ ์ ๋ขฐํ ์ ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํด ์ ์ฐํ๊ณ CPR๊ณผ ์ ์ฌํ API๋ฅผ ์ ๊ณตํฉ๋๋ค. RAM์์ ๋น๋ฐ์ ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ง์ฐ๊ณ ์คํ ํ์ ์ ์ฐจ๋จํ์ฌ ์ค์บ๋์ ๋๋ฒ๊ฑฐ๋ก๋ถํฐ ๋ก์ง์ ์จ๊น๋๋ค.
์ผ๋ฐ HTTP์๋ ์น์ํ ํธ์คํธ ํธํ ๊ธฐ๋ณธ๊ฐ์ ์ ๊ณตํ๊ณ , ์ ๋์ ํ๊ฒฝ์๋ ๋ช ์์ ์ธ Hardened ํ๋กํ์ ์ ๊ณตํฉ๋๋ค. ๋ ๊ฒฝ๋ก ๋ชจ๋ ์๋ช ์ด ์งง์ ํด๋ผ์ด์ธํธ๋ฅผ ์ ํธํ๋ฉฐ, ๊ณ ๊ธ ์ ๋ขฐ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์์ ํฉ๋๋ค.
BurnerNet์ด ๋ค์ด๋ก๋ํ ํ์ด๋ก๋๋ฅผ ๋ณดํธํ๊ณ ์ถ์ผ์ ๊ฐ์? ๋ฉ๋ชจ๋ฆฌ ๋ด ์์ฐ ๋์คํฌ๋จ๋ธ๋ง์ ์ํด RipStop Codec์ ํ์ธํ์ธ์.
์์น โข ์์ํ๊ธฐ โข ํตํฉ ๊ฒฝ๋ก โข ๋ณด์ ํ์ค: ํ์ดํธ๋ฐ์ค ๋ฐฉ์ด
ํ๋์ ๋ณด๊ธฐ
| ์์ญ | BurnerNet |
|---|---|
| ์ธ์ด | C++20 |
| ํ๋ซํผ | Windows x64/x86 (์ต์ฐ์ ์ง์), Linux (๊ฒ์ฆ๋จ) |
| ์ ์ก | libcurl ๊ธฐ๋ฐ HTTP(S) |
| ๋ฉ๋ชจ๋ฆฌ ์์ | ์์ ํ ์ง์ฐ๊ธฐ ์ ํธ๋ฆฌํฐ ๋ฐ ์ง์ฐ๊ธฐ ํ ๋น์ |
| ํฌ๋ ์ ์์ | BurnerNet ๊ด๋ฆฌ ์ ์ก ์ํ ์ ๋ฐ์ ๊ฑธ์น ์๋ ํ/์คํ ์คํฌ๋ฌ๋น |
| ๋์ ๋ถ์ | ํธ์ถ ์คํ ๊ฒฉ๋ฆฌ๋ฅผ ํตํด ์๋น์์ ์ ์ก ๊ฐ ์ฐ๊ฒฐ์ ์ฐจ๋จํ ์ ์์ |
| ๋น๋ ๊ฐํ | ์ ํ์ ์ง๋จ ๋ฌธ์์ด ์ ๊ฑฐ, ๋๋ ํ๋ ๋ฆฌํฐ๋ด, ๊ฐํ๋ ๋น๋์์ C++ ๋ฐํ์ ๋ฉํ๋ฐ์ดํฐ ๊ฐ์ |
| ๋ฐํ์ ๊ฐํ | DoH ์ง์, ์ ๊ณต์ ๊ธฐ๋ฐ ๋น๋ฐ, ๋ ์๊ฒฉํ ์ ๋ขฐ ์ ์ด |
| ํตํฉ | CMake ๋๋ Visual Studio ์์ค ๋๋กญ |
์ฌ์ฉ ์ด์
์ผ๋ฐ HTTP ํด๋ผ์ด์ธํธ๊ฐ ํ๊ฒฝ์ ๋นํด ๋๋ฌด ์ ๋ขฐ์ ์ผ ๋ BurnerNet์ ์ฌ์ฉํ์ธ์.
๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ์ ๋์์ด ๋ฉ๋๋ค:
- ์ ์ญ ์ ์ก์ ๊ณต์ ํ๋ ๋์ ์์ฒญ ํด๋ผ์ด์ธํธ๋ฅผ ์๋ช ์ด ์งง๊ฒ ์ ์ง
- ๋ก์ปฌ DNS ๋ฐ ๊ธฐํ ํธ์คํธ ๊ธฐ๋ณธ๊ฐ์ ๋ํ ์์กด์ฑ ๊ฐ์
- ํ ํฐ, ์ธ์ฆ์ ๋ฐ ๊ฒ์ฆ ๋น๋ฐ์ ํ์ํ ๋๋ง ๊ฐ์ ธ์ค๊ธฐ
- ์๋ต ๊ฒ์ฆ ๋ก์ง์ ์์ฒด ์ ํ๋ฆฌ์ผ์ด์ ์ฝ๋์ ์ ์ง
- ๊ฐํ๋ ๋น๋์์ ๋ช ๋ฐฑํ ์ผ๋ฐ ํ ์คํธ ๋ฌธ์์ด ๋ฐ ๋ฉํ๋ฐ์ดํฐ ๊ฐ์
๋์ ์ฌ์ฉ์
BurnerNet์ ๋ค์๊ณผ ๊ฐ์ ํ๋ก์ ํธ์ ์ ํฉํฉ๋๋ค:
- ๊ณ ๊ฐ์น ์ธ์ฆ, ๋ผ์ด์ ์ฑ ๋๋ ์ ๋ฐ์ดํธ ์์ฒญ์ด ์๋ Windows ๋ฐ์คํฌํ ์ฑ
- ์์ ํ ์ ๋ขฐํ์ง ์๋ ํธ์คํธ์์ ์คํ๋๋ ์๋ฒ ๋๋ ๋๋ ์ธ์ ์ ์ฝ๋
- ์ ์ฐํ C++ API๋ฅผ ํฌ๊ธฐํ์ง ์์ผ๋ฉด์ ๋ ์๊ฒฉํ ์ ์ก ๊ฒ์ฌ๋ฅผ ์ํ๋ ๋๊ตฌ
ํ์ค ์คํ ๋ BurnerNet
| ๊ด์ฌ์ฌ | ์ผ๋ฐ์ ์ธ HTTP ์คํ | BurnerNet |
|---|---|---|
| ํด๋ผ์ด์ธํธ ์๋ช | ์ข ์ข ๊ณต์ ๋๋ฉฐ ์ค๋ ์ง์๋จ | ์ผํ์ฉ ํด๋ผ์ด์ธํธ ๋ฐ ๋ฒ์คํธ ๋ฒ์ ์ฌ์ฉ์ ์ํด ์ค๊ณ๋จ |
| ์ค์ ๊ฐ | ๋น๋ฐ์ด ํ์ ์ด์์ผ๋ก ์ค๋ ์ค์ ์ด๋ ๋ฉ๋ชจ๋ฆฌ์ ๋จ์ ์์ | ์ ๊ณต์ ์ฝ๋ฐฑ์ด ์ฌ์ฉ ์์ ์ ๊ฐ์ ธ์ด |
| DNS ๋ฐ ์ ๋ขฐ | ๋ณดํต ๋ก์ปฌ ๋ฆฌ์กธ๋ฒ ๋ฐ ํธ์คํธ ๊ธฐ๋ณธ๊ฐ์ ์์ | DoH ํด๋ฐฑ ๋ฐ ๊ณ ์ ํค๋ฅผ ํฌํจํ ๋ ์๊ฒฉํ ์ ๋ขฐ ์ ์ด ์ง์ |
| ๊ฒ์ฆ | ์ฑ๋ณ ๋ฌด๊ฒฐ์ฑ ๊ฒ์ฌ๋ ๋์ค์ ์ถ๊ฐ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ | ์ฌ์ ์ ๊ฒ, ์ ์ก ๋ฐ ์๋ต ๊ฒ์ฆ ํํฌ์ ํจ๊ป ์๋ํ๋๋ก ๊ตฌ์ถ๋จ |
๋ฐฉ์ด ๊ฒฐ๊ณผ
- ์ ๋ก-๊ณ ์คํธ ๋ฉ๋ชจ๋ฆฌ ์ํคํ
์ฒ: BurnerNet์ ์ฌ์ฉ์ ์ ์ ์ ๋์ฌ-ํฌ๊ธฐ ์คํฌ๋ฌ๋ฒ๋ฅผ ์ฌ์ฉํ์ฌ
libcurl๋ฐ OpenSSL ๊ธฐ๋ฐ ํ๋ฆ์ ๋ด๋ถ ๋ฉ๋ชจ๋ฆฌ ํ ๋น ๊ฒฝ๋ก๋ฅผ ํํนํฉ๋๋ค. ๋ฏผ๊ฐํ ์ ์ก ๋ฒํผ๋ BurnerNet ๊ด๋ฆฌ ์๋ช ์ ๋ฒ์ด๋ ๋ ์ง์์ง๋๋ค. ์ด ์์์ ๋ฌธ์์ ์ค๋ช ๋ ๊ฐ์ฌ๋ ๊ตฌ์ฑ ๋ด์์ Windows์ Linux ๋ชจ๋์์ ๊ฒ์ฆ๋ฉ๋๋ค. - ์คํ-ํ๋ ์ ์ค์์ดํ: ๋ชจ๋ ์์ฒญ ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์์ฒด ์ค๋ ๋ ์คํ(์ต๊ณ ์์ ํ์ ์คํฌ๋ฌ๋น)์ ๋ฅ๋์ ์ผ๋ก ์คํฌ๋ฌ๋นํฉ๋๋ค. ์ด๋ ์ ์ด๊ถ์ด ์ ํ๋ฆฌ์ผ์ด์ ์ผ๋ก ๋์๊ฐ๊ธฐ ์ ์ ์ผ์์ ์ธ ์ ์ก ์กฐ๊ฐ์ ํ๊ดดํ๊ธฐ ์ํ ๊ฒ์ ๋๋ค.
- ์ด๋-ํ์ ํ: ์ผํ์ฉ ์ ์ก๊ณผ ์ ๋ ฌ๋ ๋ฉํ๋ฐ์ดํฐ ํค๋์ ์กฐํฉ์ ๋์ ์ฃผ์ ๊ณต๊ฐ ๋ถ์ฐ์ ์์ฑํ์ฌ ํ๋ก์ธ์ค ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์์ธก ๋ถ๊ฐ๋ฅํ๊ฒ ๋ง๋ค๊ณ ์์ ์ ์ธ ํฌ์ธํฐ ๋งคํ์ ์ ํญํฉ๋๋ค.
- ์๋ช ์ด ์งง์ ์์ฒญ ์ํ: BurnerNet์ ํ๋ก์ธ์ค ์ ์ฒด ์ฑ๊ธํค ์ ์ก ๋์ ์ผํ์ฉ ํด๋ผ์ด์ธํธ๋ฅผ ์ค์ฌ์ผ๋ก ์ค๊ณ๋์์ต๋๋ค.
- ํธ์คํธ์ ๋ํ ์ ๋ขฐ ๊ฐ์: DoH ์ง์, ๊ณ ์ ํค ์ง์ ๋ฐ ์ ์ก ๊ฐ์ฌ๋ ์์๋ ๋ก์ปฌ ๊ธฐ๋ณธ๊ฐ์ ๋ํ ์์กด์ฑ์ ์ค์ด๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
- ๋ฎ์ ์ผ๋ฐ ํ ์คํธ ๋ ธ์ถ: ์ ๊ณต์ ์ฝ๋ฐฑ ๋ฐ ์์ ํ ์ง์ฐ๊ธฐ ์ ํธ๋ฆฌํฐ๋ ์ธ์ฆ์, ํค, ํ ํฐ ๋ฐ ๊ธฐํ ๋ฏผ๊ฐํ ๋ฒํผ์ ์๋ช ์ ์ค์ ๋๋ค.
- ์ฑ ์์ ๊ฒ์ฆ: ์๋ต ๊ฒ์ฆ์
WithResponseVerifier(...)๋ฅผ ํตํด ์ฝ๋์ ์ ์ง๋๋ฉฐ, ๊ณต์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํ๋์ฝ๋ฉ๋์ง ์์ต๋๋ค. - ๋ ์ด๋ ค์ด ์ ์ ์ง๋ฌธ ์ฑ์ทจ: ๊ฐํ๋ ๋น๋๋
BURNERNET_DIAGNOSTIC_STRINGS=0์ ์ค์ ํ์ฌErrorCodeToString(...)์ด ๊ธฐํธ ์ค๋ฅ ์ด๋ฆ์ ํฌํจํ์ง ์๊ณ ์์ ์ ์ธE<number>๊ฐ์ ๋ฐํํ๋๋ก ํ ์ ์์ต๋๋ค. - ๊ฐ๋ฒผ์ด ์ํฌํธ ๋ฐฐํฌ ์ต์
:
BURNERNET_HARDEN_IMPORTS=1์ BurnerNet์ WindowsKernelResolver๊ฒฝ๋ก๋ฅผ ์ฌ์ฉํ์ฌ ์ง์ ์ํฌํธ ํ ์ด๋ธ์ ๊ด๊ณ ํ๋ ๋์ ๋ฐํ์ ์ข ์์ฑ์ ๋์ ์ผ๋ก ํด๊ฒฐํ ์ ์์ต๋๋ค. - ํธ์ถ ์คํ ๊ฒฉ๋ฆฌ (๋น๋๊ธฐ ํธ๋์คํ):
.WithStackIsolation(true)๋ฅผ ํตํด ํ์ฑํํ๋ฉด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋ถ๋ฆฌ๋ ์์ ์ ์ค๋ ๋์์ ์ ์ก ์๋ช ์ฃผ๊ธฐ๋ฅผ ์คํํฉ๋๋ค. ์ด๋ ํธ์ถ์์ ํธ์ถ ์คํ์ ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ฐจ๋จํ๊ณ ์ ํ๋ฆฌ์ผ์ด์ ๋ก์ง์ ์ง์ ์ ์ธ ์ํฅ์ ์ถ์ ์ ์ค์ผ ์ ์์ต๋๋ค.
๊ฒ์ฆ๋ ์คํ ์ค
BurnerNet์ ๋จ์ํ ๊ฐ๋ฒผ์ด ์ํฌํธ ๊ฐํ ๋ชจ๋๋ฅผ ์ฃผ์ฅํ๋ ๊ฒ์ด ์๋๋๋ค. ํน์ ํ
์คํธ ๊ตฌ์ฑ์ ๋ํ ๊ฐ์ฌ ๋
ธํธ๋ ํจ๊ป ์ ๊ณต๋ฉ๋๋ค. BURNERNET_HARDEN_IMPORTS=ON์ ์ฌ์ฉํ Windows x64 ๋ฆด๋ฆฌ์ค ๊ฐ์ฌ์์:
- IAT ๋ธ๋์์: ๊ฐ์ฌ๋ ๋ฐ์ด๋๋ฆฌ์์
libcurl.dll,ws2_32.dll,bcrypt.dll๋๋crypt32.dll์ ๋ํ ํญ๋ชฉ์ด ๊ด์ฐฐ๋์ง ์์์ต๋๋ค. - ๋ฉ๋ชจ๋ฆฌ ๋คํฌ์์: ํฌ๋ ์ ์ค์บ(Cheat Engine์ "All Strings")์ด ํ๋ก์ธ์ค ํ ๋๋ ์คํ์์ ๋ฏผ๊ฐํ ์นด๋๋ฆฌ URL์ด๋ ํค๋๋ฅผ ๋ฐ๊ฒฌํ์ง ๋ชปํ์ต๋๋ค.
- ๋๋ฒ๊ฑฐ ๋ธ๋ผ์ธ๋๋์ค: ํตํฉ ํ ์คํธ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ "ID ์ด๋"์ ํธ๋ฆฌ๊ฑฐํจ์ ํ์ธํฉ๋๋ค. ์์ฌ ๊ฒฐ์ ์(์ฑ)์ ์ ์ก์(BurnerNet)๋ ๋ณ๋์ ์ค๋ ๋ ID์์ ์๋ํ์ฌ ๋ผ์ด๋ธ ๋๋ฒ๊น ์ธ์ ์ค ์ํฅ์ ์ถ์ ์ ์ค์ ๋๋ค.
- ๋ ธ์ด์ฆ ๋ ์ ํธ: ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ง์ฐ๊ธฐ ๊ถํ ๋ด์์ ํฌ๋ ์ ์์์ ๋ชฉํ๋ก ํ์ง๋ง, OS ๋ฐ ๋ฐํ์ ํ๊ฒฝ์ ๋จ์ ์๋ ์์คํ ์์ค์ "๊ทธ๋ฆผ์"๋ฅผ ์ธ์ ํฉ๋๋ค.
๊ฐ์ฌ ์ธ๋ถ ์ฌํญ ๋ฐ ๋ฐฉ๋ฒ๋ก :
์์ํ๊ธฐ
๊ฐ์ฅ ๋น ๋ฅธ ๊ฒฝ๋ก:
- CMake ๋๋ Visual Studio ์์ค ๋๋กญ์ผ๋ก ๋น๋์ BurnerNet์ ์ถ๊ฐํ์ธ์.
<burner/net.h>๋ฅผ ํฌํจํ์ธ์.- ์คํ ํด๋ผ์ด์ธํธ๋ฅผ ๋ง๋ค๊ณ , ์์ฒญ์ ๋ณด๋ธ ๋ค์, ๋ฒ์๋ฅผ ๋ฒ์ด๋๊ฒ ๋์ธ์.
์ต์ ์์ :
#include <iostream>
#include <burner/net.h>
int main() {
burner::net::Client client;
if (!client.IsReady()) {
std::cerr << burner::net::ErrorCodeToString(client.InitError()) << '\n';
return 1;
}
const auto response = client
.Get("https://example.com")
.WithHeader("Accept", "text/html")
.WithTimeoutSeconds(10)
.Send();
if (!response.TransportOk()) {
std::cerr << burner::net::ErrorCodeToString(response.transport_error) << '\n';
return 1;
}
std::cout << "HTTP " << response.status_code << '\n';
return 0;
}
Client๋ ํ์ค ๊ธฐ๋ณธ๊ฐ์ ์ฌ์ฉํฉ๋๋ค: ์์คํ
CA, DNS, ํ๋ก์, TLS ํผ์ด ๋ฐ ํธ์คํธ ์ด๋ฆ ๊ฒ์ฆ ํ์ฑํ. WithCasualDefaults()๋ ํ์ค ํธํ ๋ณ์นญ์ผ๋ก ๊ณ์ ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค.
๋ณด์์ด ์ค์ํ ํธ๋ํฝ์ ๊ฒฝ์ฐ Hardened ํ๋กํ์ ์ฌ์ฉํ์ธ์. Build()๋ ์์ฒญ ์ ์ ๋๋ฝ๋ ์ ์ด๋ฅผ ๊ฑฐ๋ถํฉ๋๋ค:
auto secure = burner::net::ClientBuilder(burner::net::ClientProfile::Hardened)
.WithMtlsProvider(ProvideMtlsCredentials)
.WithSecurityPolicy(AppSecurityPolicy{})
.WithDnsFallback(burner::net::DnsMode::Doh,
"https://resolver.example/dns-query",
"Primary DoH")
.AllowSystemDns(true) // explicit fallback, after DoH
.WithResponseVerifier(VerifySignedResponse)
.Build();
Hardened๋ ํผ์ด ๋ฐ ํธ์คํธ ์ด๋ฆ ๊ฒ์ฆ, ์คํ ๊ฒฉ๋ฆฌ, DoH ์ฐ์ ๋ผ์ฐํ
, ์ฑ ์๋ต ๊ฒ์ฆ๊ธฐ ๋ฐ ์ฑ ์์ ์ ๋ขฐ ๋ง์ดํธ๋ฅผ ์๊ตฌํฉ๋๋ค. ์๊ตฌ์ ์ธ WithMtls(...) ์๊ฒฉ ์ฆ๋ช
์ ๊ฑฐ๋ถ๋ฉ๋๋ค. WithMtlsProvider(...)๋ฅผ ์ฌ์ฉํ์ธ์.
ํตํฉ ๊ฒฝ๋ก
1. Standard CMake
ํ์ ํ๋ก์ ํธ๊ฐ ์ด๋ฏธ CMake๋ฅผ ์ฌ์ฉํ๊ณ ์๊ณ ๊ฐ์ฅ ๊น๋ํ ์ข ์์ฑ ๊ด๋ฆฌ ๊ฒฝ๋ก๋ฅผ ์ํ ๋ ์ฌ์ฉํ์ธ์.
๋ฌธ์:
2. Visual Studio Source-Drop
ํ๊ฒฝ์ด MSBuild ์ฐ์ ์ด๊ฑฐ๋ BurnerNet์ .vcxproj ๋ด๋ถ์์ ์ง์ ์ปดํ์ผํ๋ ค๋ ๊ฒฝ์ฐ ์ฌ์ฉํ์ธ์.
๋ฌธ์:
3. Hardened Runtime Imports
๋ช ๋ฐฑํ ๋ฐํ์ ์ข ์์ฑ ๋ ธ์ถ์ ์ค์ด๊ณ ๋ถํธ์คํธ๋ฉ ๋ก๋ฉ์ ๋ช ์์ ์ผ๋ก ๊ด๋ฆฌํ ์ค๋น๊ฐ ๋์์ ๋ ์ฌ์ฉํ์ธ์.
ํ์ฑํ:
BURNERNET_HARDEN_IMPORTS=1- Windows์์ BurnerNet์
KernelResolver๊ฒฝ๋ก๋ฅผ ์ฌ์ฉํ์ฌ ๋ ๊ฐ๋ฒผ์ด ์ํฌํธ ๋ฐํ์ ํํ๋ฆฐํธ๋ฅผ ์ง์ํฉ๋๋ค.
์ฐธ์กฐ:
Linux ์ง์: BurnerNet์ Linux์์ ์์ ํ ํฌ๋ ์ ํจ๋ฆฌํฐ(๋ฉ๋ชจ๋ฆฌ ์ง์ฐ๊ธฐ ๋ฐ ์คํ ๊ฒฉ๋ฆฌ)๋ฅผ ์ ๊ณตํฉ๋๋ค. ๋น๋ ์ง์นจ์ docs/LINUX_USAGE.md๋ฅผ ์ฐธ์กฐํ์ธ์.
์ฌ์ฉ ์ฐธ๊ณ ์ฌํญ
๊ถ์ฅ ๊ธฐ๋ณธ๊ฐ:
- ํด๋ผ์ด์ธํธ๋ฅผ ์ผํ์ฉ ์ ์ก์ผ๋ก ์ทจ๊ธ
- ๋์ ์ ๋ขฐ์ ๋ฎ์ ์ ๋ขฐ ํธ๋ํฝ์ ๋ณ๋์ ํด๋ผ์ด์ธํธ๋ก ๋ถ๋ฆฌ
- mTLS ์๋ฃ, ๋ฒ ์ด๋ฌ ํ ํฐ ๋ฐ ์๋ต ๊ฒ์ฆ ๋น๋ฐ์๋ ์ ๊ณต์ ์ฝ๋ฐฑ ์ฌ์ฉ
- ๋น์ฆ๋์ค ๊ท์น ๋ฐ ์ ๋ขฐ ์ต์ปค๋ฅผ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ง
์์ ๋ฐ ๋ฌธ์
์์ :
- examples/01_basic_usage.cpp
- examples/02_zero_trust_pipeline.cpp
- examples/03_custom_security_policy.cpp
- examples/04_bootstrap_runtime.cpp
- examples/05_mtls_usage.cpp
- examples/06_hmac_custom_verifier.cpp
๋ฌธ์:
- PRINCIPLES.md
- docs/USAGE_BEST_PRACTICES.md
- docs/CMAKE_INTEGRATION.md
- docs/VISUAL_STUDIO_INTEGRATION.md
- docs/LINUX_USAGE.md
์๊ตฌ ์ฌํญ
- C++20
- Windows x64/x86 ๋๋ Linux (GCC 13+ / Clang 15+)
libcurl7.87.0+ ๋ฐOpenSSLํค๋- Linux ๊ฐ์ด๋: docs/LINUX_USAGE.md ์ฐธ์กฐ
๋ณด์ ํ์ค ๋ฐ ํ์ดํธ๋ฐ์ค ๋ฐฉ์ด
BurnerNet์ ๊ณต๊ฒฉ ๋น์ฉ์ ์ ๋ฌธ๊ฐ ์์ค์ผ๋ก ๋์ด๊ธฐ ์ํด ์ค๊ณ๋ ๊ฐํ ๊ณ์ธต์ ๋๋ค. ์ฐ๋ฆฌ๋ ์คํ ์ค๋ ํ๋ฉด์ ์ด ์๋๋ผ ๊ตฌ์กฐ์ ์ด์ด์ผ ํ๋ค๋ ์์น์ ๋ฐ๋ผ ์ด์๋ฉ๋๋ค.
๊ณต๊ฒฉ์๊ฐ ์์ค ์ฝ๋๋ฅผ ๊ฐ์ง๊ณ ์์ผ๋ฉด BurnerNet์ ์ฐํํ ์ ์๋์?
BurnerNet์ ์์ค ์ฝ๋์ ๋ํ ์ง์๋ง์ผ๋ก๋ ๋ชจ๋ ํ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง์คํฐ ํค๊ฐ ์๋๋๋ค. BurnerNet์ Kerckhoffs์ ์์น์ ๋ฐ๋ฆ ๋๋ค: ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ฑ๋ณ ์ ๋ขฐ ์ต์ปค(HMAC ๋น๋ฐ, ๊ณ ์ ํค, UI ๋ก์ง, ์ ์ฑ ํํฌ)๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ก ๋จ๋๋ก ์ค๊ณ๋์์ต๋๋ค. ์ ์ก ๊ณ์ธต์ ์๋ค๊ณ ํด์ ํน์ ๋ณด์ ํ๋ฆ์ ์๋์ผ๋ก ์ฐํํ ์ ์๋ ๊ฒ์ ์๋๋๋ค.
- ์ง์ฐ์ผ๋ก์์ ์คํ ์ค: ๊ฐํ๋ ๊ณต๊ฒฉ์๋ฅผ ํ์ค ํธ์ ๋๊ตฌ์์ ๋ฒ์ด๋ ์ง๋ฃจํ ๋ช ๋ น์ด ์์ค ๋ถ์์ผ๋ก ์ด๋๋๋ค.
- ๋ฐ์ดํฐ๋ก์์ ๋ฃจํธ: ๊ธฐ๋ฅ์ ์์กด์ฑ(์์น 6)์ ์ฌ์ฉํ์ฌ ์ฑ์ด ์๋ฒ ์ ๊ณต ๋ฐ์ดํฐ ์์ด๋ ๋ง ๊ทธ๋๋ก ์๋ํ์ง ์๋๋ก ํ์ธ์.
- ์ ๋ น ์ด์ : ๊ณต๊ฒฉ์๊ฐ ์์ฒญ ๋ก์ง์ ์ฐพ์ ๋์ฏค์ด๋ฉด ์คํ ๊ฒฉ๋ฆฌ ๋ฐ ๋ฉ๋ชจ๋ฆฌ ์ง์ฐ๊ธฐ๊ฐ ์ด๋ฏธ ํ์ํ ํฌ๋ ์ ์ฆ๊ฑฐ๋ฅผ ํ๊ดดํฉ๋๋ค.