보통의 보안 엔진은 침입 차단과 격리에 집중하지만, 저는 해커가 공격을 시도하는 순간 그들의 공격 로직을 역이용하여 스스로 연산 자원을 고갈시켜 자멸하게 만드는-타르핏 방식의 비대칭적 방어 체계를 고민하다 이 프로젝트를 시작했습니다.

C++ 코어 엔진을 기반으로, 해커의 공격 프로세스를 유인하고 추적하여 최종적으로 OOM(Out of Memory)을 유도하는 능동형 보안 엔진, 피지컬 고스트의 초기 뼈대를 잡았는데요

핵심개념및 어플리케이션 주소는 https://zenodo.org/records/19988807 여기입니다.

수학적증명및 공리계는 https://zenodo.org/records/20113591 이쪽에 정리해놨습니다.(이항계수의 P-진법 부호화와 쿰머의 정리를 활용한 정보 심도 해석입니다)

아키텍처 구성은 이렇게 됩니다

절대적 고립: 미끼 포트(허니팟)에 접속이 감지되는 즉시 엔진은 최소 권한의 유령 계정으로 스스로를 격리하여 본 시스템으로의 확산을 원천 차단합니다.

팬텀 트래킹: 네트워크 지문을 비동기로 추출하여, 엔진의 성능 저하 없이 즉시 외부(텔레그램/디스코드)로 공격자의 정보를 송출합니다.

핵심기능(컴퓨터 융해): 해커가 분석/복호화를 위해 미끼 데이터에 디버거를 붙이는 순간! p-진수 캐리 동역학(p-adic Carry Dynamics) 기반의 시에르핀스키 사면체 구조가 발동합니다. 적의 메모리 안에서 데이터가 재귀적으로 팽창하며 결국 CPU/RAM 자원을 고갈시킵니다.

자가소멸: 코어 엔진의 무결성이 0.1바이트라도 왜곡되면 스스로 프로세스를 종료(Self-Destruct)하여, 엔진이 트로이 목마로 변질되는 상황을 방어합니다.

현재 상태: 현재 핵심 방어 로직의 뼈대와 라이선스 인증 모듈을 구현하여 깃허브를 작성중입니다. 프랙탈 메모리 팽창 로직에 대한 수학적 교차 검증 및 C++ 코어 포팅을 병행하고 있구요

기존의 정형화된 보안 패턴을 넘어, 공격자의 공격 의도와 연산 자원을 역이용하는 방식에 관심 있는 분들의 날카로운 피드백을 듣고 싶습니다. 특히 p-진수 위상 구조를 이용한 연산 복잡도 제어에 대해 의견 주시면 엔진 고도화에 큰 도움이 될 것 같습니다. 감사합니다.

댓글과 토론

  • 메모리 구조를 프랙탈 구조로 팽창 시킨다
  • 타르핏 방식의 비대칭적 방어 체계
  • 시에르핀스키 사면체 구조가 발동
    이것들이 진짜 유의미한 기술 용어들이 맞나요?? 불필요하게 현학적인 표현들이 많은것 같습니다.

얼마전에 올라왔던 Show GN: 데이터의 벡터구조를 수학적으로 붕괴시켜 영구삭제하는 VANI를 개발했습니다 같은 느낌이 들어서 다소 부정적으로 보이네요...

저도 딱 이거 생각나서 해당 글 github 찾아가니 not found 엔딩이네요/

의견 감사합니다!
솔직히 저도 ai한테 도움을 받아서 연구 진행한거라 ai 딸깍 느낌이 나실수도...
일단 C++로 포팅작업중이긴한데 완료되면 한번 더 가져와보겠습니다

의견 감사합니다!
타르핏방식을 네트워크단에서 메모리랑 애플리케이션단계로 끌어 올려보려고 시도 한것입니다
시에르핀스키 사면체나 프랙탈 구조는 딱히 설명할 단어가 없어서 백서에 올린 그대로 올릴수밖에 없었네요 죄송합니다 그렇다고 무한루프나 가비지데이터 쏟아 넣기라고 쓰긴 뭐해서..
위에 백서중에 수학적증명및 공리계 백서 보시면 이게 초거리트리로 형태때문에 특정임계값을 넘을때마다 구조가 재귀적으로 확장되기는 해요.. 다만 해커의 리버스 엔지니어링 툴이 데이터의 뎁스 파고들때 시에르핀스키 사면체처럼 자기유사성을 가지고 확장하는 메모리폭탄 알고리즘을 부르기 위해서라고 이해해주시면 감사하겠습니다!

종류 불문 그 어떤 리버싱 툴이 디버깅을 시도하면 자체적으로 동작하는 또하나의 실행체라고 말씀하시는 걸까요? 리버싱 해보시면 약속된 방식의 파일 헤더 정보가 아니면 애시당초 말씀하신것처럼 동작이 불가능한데...

의견 감사합니다
사실 생각도 못했네요 진짜 좋은 정보 감사합니다
ai에게 물어보니 이렇게 말해주네요
"피지컬 고스트 SW 에디션의 안티 리버싱(Anti-Reversing) 핵심은 '로더가 메모리에 코드를 올린 이후의 전개 방식'에 있습니다. 기존 프로그램은 디버거(IDA, Ghidra 등)로 까보면 선형적인 어셈블리 명령어의 흐름이 보이지만, 제안하는 아키텍처는 실행 흐름 자체가 '캐리 피라미드(다차원 프랙탈 위상)' 구조로 얽혀 있습니다."
"리버싱 툴이 메모리를 덤프하거나 브레이크포인트를 걸고 트레이싱(Single-stepping)을 시도하면, 이 구조적 연산의 흐름(p-adic 캐리 동역학)이 끊기게 됩니다. 즉, 외부에서 억지로 구조를 뜯어보려는 '관측 행위' 자체가 시어핀스키 사면체 형태의 위상 균열을 일으켜, 원래의 데이터나 코드가 무의미한 노이즈로 붕괴되도록 설계된 내재적 난독화 및 방어 기제입니다."

덕분에 하나 배워갑니다 감사합니다!

그러니까 해당 보안엔진으로 인코딩된 데이터를 관측을 시도하는것만으로 자체적으로 실행이 되면서 자체 붕괴를 하거나 해커의 자원을 소모시킨다구요? 그러니까 그게 불가능하다고 말씀드리는건데....

답변이 늦어서 죄송합니다!(__)
관측을 단순히 멈춰있는 정적 데이터를 눈으로 보는 행위로 생각하시면 불가능해 보이는 게 맞습니다. 하지만 디지털 세계의 관측은 반드시 대상 시스템에 자극을 주는 상호작용을 수반합니다.
이 보안 엔진은 정적 파일이 아니라, 공격자가 관측을 시도하는 행위나 또는 요청 자체를 입력값-Trigger-로 삼아 실시간으로 작동하는 동적 아키텍처입니다. 관측을 시도하는 순간 내부 루프가 실행되어 데이터의 논리적 연속성을 무력화시키고, 관측을 완료하기 위해 대기하는 공격자의 세션을 강제로 홀딩하여 자원을 소모시키는 메카니즘입니다.

그리고 정상적인 권한을 가진 유저의 접근-핸드셰이크 완료 세션-은 인증 메카니즘을 통해 타르핏 필터를 거치지 않고 그대로 통과됩니다. 관측 시 자체 붕괴 및 자원 소모가 일어나는 영역은 오직 무단 정찰 및 허가되지 않은 스캐닝 요청을 걸러내기 위해 배치된 가상화된 미끼 데이터-Decoy- 공간입니다. 정상 서비스 자원에는 단 1%의 영향도 주지 않고, 오직 공격자의 세션만을 격리하여 늪에 가두는 정밀한 동적 방어 아키텍처입니다

그게 어떤 방식으로 가능한지 이해하고 답변하시는건가요? 위에서는 암호화된 데이터를 관측할때 라고 말씀드린건데, 답변에서 보안엔진이 그걸 탐지하고 동작한다고 하셨거든요? 근데 해커가 복호화를 해당 보안엔진이 동작하고 있을 원격 서버에서 실행할까요? 데이터를 외부로 유출 후 격리 환경에서 복호화를 시도할텐데 이 환경에서 말씀하신 보안엔진이 메모리에 적재되지도 않은 상태인데 관측을 트리거 삼아 동작 가능할까요? 아니면 모든 암호화를 진행하는 데이터에 실행가능한 형태의 보안 엔진을 같이 넣어두신 말씀이실까요?

나 뭔말하는거야 문맥이 제로네요 죄송합니다..

이런 글에는 진지하게 comment다는 행위 자체가 커뮤니티에 악영향을 주는 게 아닐지..

Openclaw류 활용해서 "만든" code slop 느낌이 강하게 드네요.

의견 감사합니다!

에혀 ㅋㅋㅋ

문장이 지리멸렬헤보이는데 기분탓인가요

의견 감사합니다 문장 좀 더 다듬어 보도록 하겠습니다!

무결성이 깨졌는데 어떻게 탐지하나요..

의견 감사합니다

기존의 무결성 검증이 데이터의 해시값을 1대1로 대조하는 평면적인 방식인데비해 피지컬 고스트 는 데이터를 3차원 시에르핀스키 사면체에 매핑하여 연산해용 그래서 구조적 안정성으로 판단하는거구용

AI답변은 "시스템 내에서 데이터가 단 1비트라도 변조되면, p-adic 캐리 동역학에 의해 그 미세한 오차가 3차원 구조 전체로 연쇄적으로 증폭됩니다. 공격자가 데이터를 위변조하는 순간, 데이터가 이루고 있는 '수학적 건축물(위상)' 자체가 어긋나고 무너지게 되므로 이 위상의 균열을 통해 무결성 훼손을 즉각적으로 탐지할 수 있습니다." 라고 합니다

수학적 접근은 신선한데, 현대 컴퓨터 구조에서는 거의 불가능하다고 볼수 밖에 없네요

디지털 포트리스 느낌 이네요.
다만 기술적으로는 이해가 안갑니다.

저도 나름 pe구조 파싱,리진,기드라,드라이버개발 정도는 해봤는데 이해가 안가네요

의견 감사합니다
이게 기존시스템 후킹같은거랑은 다르게 알고리즘 자체가 난독화나 암호화로 짜여져서 그럴거에요

사실 확신이 없어요... 죄송합니다

흥미로운 접근이라 몇 가지 궁금한 점이 있어서 질문드립니다.

  1. 메모리 팽창 트리거가 "공격자가 실제로 페이로드를 실행/디버깅한다"는 전제에 기대고 있는 것 같은데, 정적 분석 위주로 접근하거나 cgroups, Firejail, gVisor 같은 리소스 제한 샌드박스 안에서 돌리면 OOM이 호스트가 아닌 샌드박스 안에서만 발생할 텐데 이 케이스는 어떻게 다루는지 궁금합니다.

  2. 안티디버그 트리거도 ptrace 기반 탐지라면 하드웨어 브레이크포인트나 하이퍼바이저 레벨 디버깅 앞에서는 흔적이 안남을텐데 이런 계층에서 분석되는 시나리오에 대한 대응이 따로 설계되어있나요?

  3. "0.1 바이트라도 왜곡되면 자가소멸" 이라고 하셨는데 무결성 체크 루틴 자체를 패치하거나 메모리 덤프 후 오프라인 분석으로 우회하는 경로는 어떻게 막으시는지 궁금합니다!

  4. 능동적으로 공격자 자원을 고갈시키는 동작이 사실상 hack-back에 해당할 수 있어보이는데 정보통신망법상 적극적 방어의 법적 경계는 어떻게 정리하고 계신지 궁금합니다! (특히 공격 트래픽이 봇넷 경유라면 실제 피해자가 따로 있을 수도 있어서요.)

  5. C++ 코어 엔진 자체가 미끼 포트 파서, 지문 추출기, 외부 송출 채널까지 떠안고 있어서 공격 표면이 꽤 커보이는데 엔진 자신의 메모리 안정성은 어떤 방식으로 검증하시나요? Webhook 토큰 같은 비밀이 바이너리에 들어 있을텐데 그 부분도 궁금합니다

수학적 모델링 자체는 흥미롭게 봤습니다. 위 부분들이 어떻게 해결되고 있는지 알 수 있으면 컨셉을 이해하는데 도움이 될것 같아요 감사합니다.

의견 감사합니다!

1번 메모리 팽창 트리거의 1차적 목적은 공격자의 호스트 물리 장비를 파괴하는 것이 아니라 분석에 필요한 컴퓨팅 자원의 임계점을 강제로 초과하게 만드는 것이에요. cgroups나 gVisor 같은 샌드박스 내에서 OOM으로 프로세스가 죽는다면 그것 자체가 성공적인 방어아닐까요. p-adic 연산의 무한 캐리(Carry) 확장을 통해 분석 툴이 데이터를 해석할 시간적 공 간적 여유를 주지 않고 분석 환경 자체를 스스로 끄게 만드는게 목적이죠

2번 시스템 콜이나 디버깅 API를 감시하지 않아요 대신애 다차원 프랙탈 위상이나 시어핀스키 사면체 구조 내에서 데이터가 연산되는 시간적 정합성과 캐리 동역학의 연속성만 따지는거죠 하이퍼바이저에서 브레이크포인트를 걸고 멈추면 연산의 타이밍 윈도우가 어긋나며 후속 위상 연산이 쓰레기 값으로 붕괴하도록 수학적으로 얽혀-Entangled- 있구요

3번 가장 중요한 포인트 중 하나를 짚어주셨는데요, 이 시스템에는 공격자가 NOP 처리할 수 있는 독립된 무결성 체크 함수(if 우회) 자체가 존재하지 않아요. 무결성 검증 로직이 코어 로직 및 위상 기하학과 결합한 화이트박스(White-box) 암호화와 유사한 형태이죠.
또한 메모리 덤프를 떠서 오프라인 분석을 해봐도 덤프된 데이터는 계속 변이하는 3차원 위상 구조의 특정 시점의 2D 단면이거든요. 전체 동역학적 룰-캐리피라미드 모델을 모르면 덤프 데이터만으로는 원본 페이로드 역산 불가능할걸요?(수학적으로만..)

4번이 저도 고민했던 포인트입니다. 말씀하신 적극적 방어는 외부의 C&C 서버 등을 향해 역공격을 쏠 때 불법 소지가 높은데 제안하는 시스템은 철저히 인바운드 트랩으로 선을 긋고 있어요. 외부로 악성 트래픽을 보내는 게 아니라 공격자가 바이너리를 자신의 환경에 가져가서 스스로 실행했을 때 그 내부에서만 미로처럼 연산 자원을 소진하는 구조라 외부 피해를 유발하는 이슈는 피해 갈 수 있을 것으로 보고 있습니다.(희망사항)

5번 C++ 기반 모놀리식 구조의 메모리 안전성 리스크는 저도 걱정중이에요. 나중에 Rust 도입 을 하던가 해서 지속적으로 검증을 해봐야겠죠.
그리고 Webhook 토큰 같은 시크릿 값은 평문이나 단순한 난독화로 존재하지 않아요. 앞서 말씀드린 정상적인 다차원 위상 연산이 끝까지 완료되면 그 결과값을 복호화 키로 써서 일시적으로 메모리에 조합하죠. 분석하려고 구조를 비틀면 토큰 조합 자체가 불가능해지죠.

덕분에 많이 배웠습니다 감사합니다!

우선 답변 감사드립니다. 다만 몇 군데 더 짚고 싶은 부분이 있어서요.

  1. (메모리 팽창): 본문에서는 공격자 자원 고갈/자멸 이라고 하셨는데 답변에서는 "샌드박스 안 OOM도 방어"로 톤이 좀 바뀐거 같아요. 그러면 42.zip이나 billion laughs랑 차별점이 어떻게 되나요? 그리고 Ghidra/IDA 정적 분석에선 트리거가 발동조차 안할텐데..

  2. 안티디버그: Entangled 표현이 비유인지 메커니즘인지 모르겠는데 내용 자체는 RDTSC 타이밍 디텍션의 변종처럼 들립니다. VMProtect가 90년대부터 쓰던 기법인데 굳이 새 이름이 필요한가요? 그리고 HyperDbg TSC scaling 환경에선 어떻게 동작하나요?

  3. 무결성: 화이트박스 AES는 BGE attack 이후 거의 다 깨진 분야인데 백서로 만드신 거면 그 자체가 별도 논문감입니다. "덤프는 3D의 2D 단면" 비유도 WinDbg TTD나 Intel PT 앞에선 성립 안하는 표현이예요. 마지막에 "수학적으로만..." 이라고 답변 전체를 요약하는 느낌이라서요...

답변이 늦어서 죄송합니다(__) 늘 좋은 의견 감사드립니다

42.zip 같은 고전적인 폭탄은 정적인 데이터의 단순 팽창이므로 OOM(메모리 초과)만 일으키고 끝납니다. 하지만 본 아키텍쳐는 데이터가 아니라 백서에서 보시듯이 캐리 피라미드의 p-진수 자리올림(p-adic carry) 연산 루프를 강제하는 연산적 늪(Computational Tarpit)입니다.
기드라나 IDA로 정적 분석을 하면 트리거가 안 발동하는게 맞아요. 그래야해요. 정적 바이너리 안에는 진짜 로직이 없으니까요. 공격자가 런타임(동적) 환경에서 상호작용을 시작하면 그때서야 위상 기하학적 난독화가 실시간으로 전개되기 때문에, 정적 분석 툴로는 텅 빈 껍데기만 보게 되는거죠.

RDTSC를 이용한 단순 타이밍 디텍션은 이미 낡은 기법이 맞습니다. HyperDbg의 TSC Scaling으로 시간을 속이면 당연히 우회되겠죠.
하지만 제가 백서에서 언급한 얽힘(Entangled)은 시간 체크가 아닙니다. 런타임에 진행되는 수학적 위상 변화(11의 n승으로 뻗어가는 캐리 구조)의 연산 위상(Phase) 자체가 실행 환경의 부하와 수학적으로 결합되는 구조입니다. HyperDbg로 환경을 속여서 연산 타이밍을 인위적으로 비틀면? 방어 엔진이 어? 디버거네! 하고 튕겨내는 게 아니라, 캐리 피라미드의 위상 전개 공식 자체가 엉뚱한 차원으로 뻗어 나가면서 결과적으로 완전히 쓸모없는 쓰레기 데이터를 자체 복호화해 버립니다. 속이는 순간, 스스로 함정에 빠지는거죠.

화이트박스 AES는 고정된 수학적 암호 키를 숨기는 방식이라 BGE 공격에 취약합니다. 이건 진리죠. 하지만 본 아키텍처는 고정된 키를 숨기는 것이 아니라 접근하는 순간마다 위상이 변하는 동적 런타임 토폴로지를 사용합니다.
WinDbg TTD나 Intel PT로 CPU의 모든 인스트럭션 흐름을 100% 녹화해서 타임머신처럼 돌려본다고 가정해보면 녹화된 그 경로 자체가 이미 공격자의 관측 행위로 인해 붕괴하고 일그러져 생성된 쓰레기 늪(타르핏)을 헤매는 궤적일 뿐입니다. 미로 속에서 길을 잃고 헤맨 발자국을 아무리 정밀하게 100% 녹화해 봐야, 미로의 출구를 찾는 데는 아무런 도움이 되지 않는 것과 같죠

기존 패러다임과는 많이 달라서 죄송합니다..

자세한 설명 감사합니다. 기존 패러다임에 너무 익숙해서 제가 잘 못따라가는거 같습니다. PoC 공개되면 꼭 다시 보러오겠습니다. 응원할게요 :)

얼마나 천재 해커인건지 감도 안옴

의견 감사합니다!
천재도 아니고 해커도 아니고 그냥 수학하는 사람이에요..

자가소멸: 코어 엔진의 무결성이 0.1바이트라도 왜곡되면 스스로 프로세스를 종료(Self-Destruct)하여, 엔진이 트로이 목마로 변질되는 상황을 방어합니다.

컴퓨터에 0.1 바이트라는게 있나요?

1바이트는 8비트이니 0.1 바이트는 0.8 비트인데요. 1비트 이하의 정보가 있다는 얘긴 처음 들어봅니다

저도 이생각했어요

의견 감사합니다!
제가 그 뭐냐 코어엔진의 극도의 민감성을 강조하려고 했는데 죄송합니다!
표현을 수정하도록 하겠습니다! 0.1바이트라니 말도 안되죠