5. 자료를 밖으로 보내지 않기

정말 안 나가는지 눈으로 보기

이 차시를 마치면

세 가지를 관찰하고, 각 관찰이 확인하지 못하는 것까지 함께 말합니다.

이 차시는 증명하지 않습니다. 관찰합니다. 그 차이가 이 차시의 핵심입니다.

먼저 범위를 정합니다

"자료가 밖으로 나가지 않는다" 를 완전히 증명하려면 망 자체가 차단된 환경에서 확인해야 합니다. 이 교재는 그 수준을 주장하지 않습니다.

대신 세 가지를 관찰하고, 각 관찰이 확인하는 것과 확인하지 못하는 것을 함께 적습니다.

4번 트랙 6차시에서 배운 태도를 그대로 적용하는 것입니다. "검증했다" 는 말을 들으면 무엇을 확인했고 무엇을 확인하지 않았는지 되묻는 습관입니다.

실행

python3 webapp/verify/local/observe_network.py

관찰 1 — 서버가 어느 주소에 열려 있는가

lsof -nP -iTCP:1234 -sTCP:LISTEN
COMMAND   PID  USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
LM\x20Stu 954 gemma   78u  IPv4 0xbc8be00e81badfc9      0t0  TCP 127.0.0.1:1234 (LISTEN)
확인되는 것확인되지 않는 것
127.0.0.1loopback 에만 열려 있습니다. 같은 네트워크의 다른 기기가 이 서버에 접속할 수 없습니다 이 프로세스가 스스로 밖으로 요청을 보내는지는 별개입니다. 들어오는 문을 잠갔다고 나가는 문이 잠긴 것은 아닙니다

주소가 0.0.0.0 이나 특정 사설 IP 로 나오면 다른 기기가 접속할 수 있다는 뜻입니다. 앞 차시에서 본 대로 이 서버에는 인증이 없으므로, 그 상태는 위험합니다. 분석

관찰 2 — 추론 중에 외부 연결이 생기는가

추론 요청 전후로 이 프로세스의 외부 연결 목록을 비교합니다.

요청 전 외부 연결: 없음
추론 성공. 응답 5자
요청 후 외부 연결: 없음

→ 추론 전후로 이 프로세스의 외부 연결이 관찰되지 않았습니다.
확인되는 것확인되지 않는 것
추론을 하는 동안 이 프로세스가 지속 연결을 유지하지 않았습니다 두 번의 관찰 사이에 생겼다 사라진 짧은 연결 · 다른 프로세스의 전송 · 업데이트 확인이나 텔레메트리

이 관찰의 한계가 분명합니다. 스냅숏 두 장을 비교한 것이라 그 사이의 일은 보이지 않습니다. 더 정확히 보려면 패킷 수준 관찰이 필요합니다.

관찰 3 — 모델 가중치가 어디에 있는가

You have 3 models, taking up 25.80 GB of disk space.

google/gemma-4-31b-qat (1 variant)    31B   gemma4   18.85 GB   Local
google/gemma-4-e4b (1 variant)         4B   gemma4    6.86 GB   Local
text-embedding-nomic-embed-text-v1.5        Nomic BERT  84.11 MB Local
확인되는 것확인되지 않는 것
모델 파일이 이 기기에 있습니다. 추론에 외부 호출이 필요하지 않은 구조입니다 파일이 있다는 것과 실행 중 외부를 부르지 않는다는 것은 별개입니다. 관찰 2 와 함께 봐야 합니다

세 관찰을 합치면

각각은 부분만 보여 줍니다. 합쳐야 그림이 됩니다.

관찰 1: 밖에서 들어올 수 없다      (들어오는 방향)
관찰 2: 나가는 연결이 안 보인다    (나가는 방향, 스냅숏)
관찰 3: 필요한 것이 안에 다 있다   (구조적 필요성)

셋이 함께 성립하면 "자료가 이 기기를 벗어날 이유가 없고, 벗어나는 흔적도 보이지 않는다" 고 말할 수 있습니다.

"벗어나지 않는다" 가 아닙니다. 그것은 이 방법으로 말할 수 없습니다. 분석

비유

사무실 문을 잠그고, 창문 밖을 두 번 내다봤는데 아무도 없었고, 필요한 서류가 다 안에 있다는 것을 확인한 상태입니다.

합리적인 확인이지만 "아무도 나가지 않았다" 의 증명은 아닙니다. 그러려면 출입 기록을 계속 남기는 장치가 있어야 합니다.

더 강한 확인이 필요하다면

수준방법이 교재에서
관찰바인딩 주소, 연결 스냅숏, 파일 위치여기까지 합니다
계측패킷 수준 기록. 실행 내내 무엇이 오갔는지다루지 않습니다 확인 필요
차단방화벽·망분리로 애초에 나갈 수 없게범위 밖. 조직 환경에 따라 다릅니다

완전한 차단은 망 수준에서 해야 합니다. 프로그램 설정으로 하는 것이 아닙니다.

이 차시가 남기는 것

기술보다 태도입니다. 확인한 범위를 정확히 말하는 것입니다.

"로컬로 돌리니까 안전합니다" 는 문장은 검증되지 않은 주장입니다. "서버가 loopback 에만 열려 있고, 추론 중 외부 연결이 관찰되지 않았으며, 모델이 로컬에 있습니다. 다만 패킷 수준 확인은 하지 않았습니다" 가 확인된 서술입니다.

길지만 이쪽이 맞습니다.

이해도 확인

문항을 불러오는 중입니다.