Show GN: 데이터의 벡터구조를 수학적으로 붕괴시켜 영구삭제하는 VANI를 개발했습니다
(github.com/eterners-inc)안녕하세요. AI 알고리즘과 함수 개발을 주업무로 하고 있습니다.
최근 생성형 AI와 포렌식 기술이 비약적으로 발전하면서, "디지털 데이터의 완전한 삭제가 가능한가?"에 대한 의문을 갖게 되었습니다. 기존의 덮어쓰기, 공장초기화, 펌웨어 삭제는 물론이고 디가우징조차 잔존 전하로 복구가 가능하다고 합니다. 암호화 키 폐기 방식(Crypto-shredding)도 미래의 양자컴퓨팅 앞에서는 안전하지 않고요. 특히 SSD(NVMe) 환경에서는 웨어 레벨링(Wear Leveling) 특성상 기존의 '덮어쓰기(DoD 5220.22-M)' 방식이 수명을 단축시키고 삭제 효율도 떨어진다는 명확한 한계가 있었습니다.
그래서 물리적 덮어쓰기가 아닌, 데이터를 수학적으로 붕괴(Collapse)시키는 방식의 윈도우용 삭제 도구 VANI(Vector-based Advanced Nullification)를 만들어 GitHub와 Gumroad에 공개합니다.
장점은 Window기반 모든 저장장치에서 파일과 데이터를 선택적으로 골라서 초고속으로 지울 수 있다는 거고, 단점은 한 번 지우면 끝이라 포렌식불가, 영구삭제되어 조심해서 사용해야 된다는 점입니다.
🛠 개발 과정 및 핵심 기술
기존의 '삭제'가 데이터 위에 0과 1을 덧칠하는 페인트 작업이라면, VANI는 데이터가 존재하는 벡터 공간 자체를 무너뜨리는 방식에 가깝습니다. (파이썬과 Rust로 개발했습니다. 저는 알고리즘이 전문이라 코드 구현보다 UI/디자인 작업에서 훨씬 더 헤맨 것 같습니다... 😅)
-
Vector State Collapse: 파일 데이터를 단순 비트열이 아닌 벡터 상태(State)로 정의하고, 원본과 수학적으로 직교(Orthogonal)하는 노이즈를 주입하여 패턴 자체를 소멸시킵니다.
-
Entropy Maximization: 단순 난수가 아닌, 섀넌 엔트로피(Shannon Entropy)를 극한으로 최대화한 '카오스 버퍼'를 주입합니다. 엔트로피는 열역학 법칙처럼 수학적으로 다시 낮아질 수 없기에, 향후 양자컴퓨팅의 그루버(Grover) 알고리즘으로도 역산이 불가능하도록 설계했습니다.
-
Hilbert Curve Optimization: 디스크 I/O 효율을 위해 공간 채움 곡선(Space-filling curve) 알고리즘인 힐베르트 커브를 적용했습니다. 덕분에 NVMe 환경에서 1GB 삭제 시 1초 미만의 속도를 구현했습니다.
💾 사용해 보기
바로 실행 가능한 포터블(Portable) 버전입니다. 개인적인 용도로는 기능 제한 없이 무료로 쓰실 수 있도록 깃허브에 올려두었습니다.
GitHub (무료/개인용): https://github.com/eterners-inc/VANI (단일 파일 삭제 지원, 광고 없음)
Gumroad (유료/기업용): eterners.gumroad.com/l/vani-pro (폴더 단위 삭제, 감사 리포트 생성 등 비즈니스 기능)
💬 남기는 말
S그룹처럼 기밀정보가 담긴 하드디스크를 용광로에 폐기할 수 없는 개인이나 스타트업에게 VANI가 유용한 도구가 되었으면 합니다. 알고리즘이나 로우레벨 I/O 처리에 대한 피드백, 혹은 버그 제보는 언제든 환영합니다.
⚠️ 추가 Notice (Ghost Protocol) 데이터 완전 삭제 기술은 오남용이나 악용의 소지가 있어, 디버깅을 방지하고 소스코드를 자체 방어하는 알고리즘(Ghost Protocol)을 개발탑재하여 부정 사용 시 락다운되도록 조치했습니다. 이 보안 모듈은 추후 특허 등록 전, 보안이 필요한 스타트업이나 동료 개발자분들을 위해 별도 라이브러리로 오픈하는 것도 고려 중입니다.
제시하신 제품의 파일 삭제 방식이 랜덤(의사 랜덤 포함) 데이터로 덮어쓰는 것과 무슨 차이점이 있나요?
리포지토리에서 확인할 수 있는 free/main_free.py의 코드는 결국 파일의 맨 처음 4096바이트를 새로운 의사난수 노이즈로 덮어쓴 뒤, 공개되지 않은 상세불명의 Rust 기반 라이브러리를 호출하여 아무튼 뭔가 한다고 주장하는 것으로 보입니다. 하지만 이것이 그냥 단순히 의사난수로 파일을 덮어쓰는 것과 질적으로 뭐가 다른지 알 수 없으며, 공개하신 내용만으로는 그것을 증명하기에 부족한 것으로 보입니다.
이것이 의사난수 덮어쓰기와 어떤 면에서 질적으로 다른 부분이 있는지, 구체적으로 파일 복원/포렌식 시도 때 그냥 의사난수로 덮어쓴 것과 비교했을 때 복구 가능성 면에서 어떤 변화가 있는지 설명해주실 수 있을까요? 혹은 저장매체(하드디스크 및 SSD)에 따라 달라진다고 주장할 수 있는 부분이 있나요?