네트워크·엔드포인트·애플리케이션·데이터 방어
고객이 문서 서비스에 첨부파일을 올렸다. 허용된 통신 경로였고 로그인도 성공했지만, 파일을 열어 처리하는 프로그램에 취약점이 있다면 서버가 침해될 수 있다. 반대로 파일 자체는 정상이어도 다른 고객의 문서를 읽는 요청이라면 막아야 한다. 통신 허용·파일 검사·업무 권한은 서로 다른 질문이다.
정상 HTTPS로 들어온 파일도 위험할 수 있다
고객이 문서 서비스에 첨부파일을 올렸다. 허용된 통신 경로였고 로그인도 성공했지만, 파일을 열어 처리하는 프로그램에 취약점이 있다면 서버가 침해될 수 있다. 반대로 파일 자체는 정상이어도 다른 고객의 문서를 읽는 요청이라면 막아야 한다. 통신 허용·파일 검사·업무 권한은 서로 다른 질문이다.
이 장은 가상의 고객 문서 서비스를 공통 사례로 사용한다. 첫 절에서는 방어 위치와 실패 처리, 둘째 절에서는 관측과 대응, 셋째 절에서는 클라우드·API·배포 경로를 연결한다. 아래 수치·정책·시험은 자체 교육 자료이며 특정 서비스의 안전 인증이나 실측 성과가 아니다.
앞의 세 원칙을 배치 결정으로 바꾸기
신뢰경계·최소권한·심층방어에서는 가정이 바뀌는 지점에서 검증하고, 필요한 행동만 허용하며, 한 통제의 실패를 다른 통제가 제한하도록 배웠다. 통제가 같은 관리자 계정과 정책 저장소에 함께 의존하면 장비 수만으로 독립된 방어층이라고 할 수 없다. 이제 이 원칙을 실제 통신·프로세스·파일·문서 제공 경로에 배치한다.
1. 보안시스템은 장비 목록이 아니라 집행 구조다
보안시스템 통합은 자산과 사건 경로에 맞춰 예방·탐지·대응 기능을 배치하고, 그 기능의 입력·권한·실패 처리·운영 증거를 연결하는 설계와 운영이다.
먼저 보호할 결과를 정한다. 이 서비스는 허가된 고객에게 승인된 버전의 문서만 제공하고, 미검사 파일의 실행과 인터넷에서 데이터베이스로 직접 들어오는 경로를 막는다. 검사 서비스가 멈출 때에는 미검사 첨부파일 제공을 보류하되 이미 승인된 문서의 읽기까지 무조건 멈추지는 않는다. 보호목표와 중단 범위를 이렇게 나누어야 장애 때 모든 검사를 끄는 우회가 생기지 않는다.
어떤 정보를 보는 도구인가
방화벽은 정한 정책에 따라 네트워크나 호스트 사이의 통신을 통제하는 장치 또는 프로그램이다. 주소·포트·연결 상태 등 제품과 배치가 제공하는 정보를 사용하며, 허용된 통신의 모든 업무 의미까지 자동으로 알지는 못한다.[SS-C01]
침입탐지시스템(IDS)은 관측한 사건에서 침입이나 정책 위반의 징후를 찾아 알리는 시스템이다. 침입방지시스템(IPS)은 탐지 기능과 함께 통신 차단 같은 예방 조치를 수행하는 시스템이다. 같은 탐지 규칙이어도 관측만 하는 위치인지 실제 트래픽 경로에서 집행하는지에 따라 장애 영향과 오탐 비용이 달라진다.[SS-C02]
웹 애플리케이션 방화벽(WAF)은 HTTP 요청·응답을 규칙에 따라 검사하고 통제하는 방어 기능이다. 엔드포인트 탐지·대응(EDR)은 단말이나 서버의 행위를 수집·분석하여 위협을 탐지하고 조사·대응을 지원하는 기능이다. WAF는 웹 요청의 내용, EDR은 호스트의 프로세스·파일·연결 같은 행위를 본다는 차이가 있다.[SS-C03]
제품은 여러 기능을 묶을 수 있으므로 상자 이름보다 실제 수집·판정·집행 기능을 확인한다. 암호화된 통신의 본문을 검사하려면 승인된 복호화 위치와 개인정보·키 보호를 설계해야 한다. 본문을 볼 수 없는 네트워크 관측을 파일 내용 검사로 보고하지 않는다.
2. 같은 사건에 네 층을 연결한다
상자 안의 대상과 화살표의 조건을 함께 읽으세요. 좁은 화면에서는 같은 관계를 세로로 재배치한 도식을 보여 줍니다.
실선은 허용한 업무 경로이고 점선은 별도 보호된 관측 전달이다. 공개 게이트웨이는 허용 통신만 넘기며 서비스는 객체별 권한을 판단하고 서비스 계정으로만 원장에 접근한다. 제한 권한 검사 작업자는 격리된 버전을 검사하며 승인한 같은 버전만 제공용 저장소로 옮긴다. 검사 작업자에게 원장 변경이나 임의 외부 연결 권한을 주지 않는다.
화살표는 이 사례에서 허용할 업무 흐름이다. 검사 작업자에게 문서 원장을 변경하거나 외부로 임의 연결하는 권한을 주지 않는다. 게이트웨이를 우회하여 내부 서비스나 제공용 저장소에 직접 접근하는 경로도 확인한다. 서비스가 고객 권한을 대신 집행하므로 저장소가 비공개라는 사실만으로 객체별 인가를 생략할 수 없다.
도구별로 막는 것과 남는 것
| 층 | 이 사례의 결정 | 확인할 증거 | 이것만으로 해결하지 못함 |
|---|---|---|---|
| 네트워크 | 게이트웨이·서비스·DB 간 필요한 연결만 허용 | 허용·거부 규칙과 실제 도달 시험 | 허용된 요청의 고객 소유권 |
| 엔드포인트 | 검사 작업자의 불필요한 권한·외부 연결 제한 | 프로세스·파일 행위, 격리 명령과 결과 | 수집되지 않은 행위, 애플리케이션 업무 규칙 |
| 애플리케이션 | 형식·크기·객체별 인가·업무 상태 확인 | 요청 ID·대상 버전·인가 결과 | 계정과 서비스가 함께 침해된 모든 경우 |
| 데이터 | 격리와 제공을 분리하고 같은 검사 버전만 제공 | 객체 버전·검사 상태·제공 기록 | 이미 유출된 평문의 회수 |
네 층의 성공률을 곱해 전체 방어율을 계산하지 않는다. 독립성도 실제 확률도 주어지지 않았으며 같은 계정 침해로 여러 통제가 함께 실패할 수 있다. 대안은 제품을 더 사는 것만이 아니라 관리 권한과 증거 보관 경로를 분리하는 것이다.
3. 직접 판정: 처음 맞는 규칙과 우회 경로
자체 모형 SS-F1은 위에서 아래로 읽어 처음 일치하는 규칙을 적용한다. 주소 집합의 분류가 신뢰 가능하고 새 연결의 방향을 판정한다고 가정한다. 실제 제품의 상태 추적·응답 트래픽 규칙을 이 표가 전부 표현하는 것은 아니다.
| 순서 | 출발 집합 | 도착 집합 | 프로토콜·목적지 포트 | 결정 |
|---|---|---|---|---|
| 1 | Internet | Gateway | TCP 443 | 허용 |
| 2 | Gateway | App | TCP 8443 | 허용 |
| 3 | App | DB | TCP 5432 | 허용 |
| 4 | 모든 집합 | 모든 집합 | 그 밖의 연결 | 거부 |
Internet→DB:5432는 규칙 1~3 중 일치하는 것이 없어 거부한다. App→DB:5432는 규칙 3으로 허용하지만 App→DB:22는 거부한다. Gateway→App:8443이 허용되었다고 Internet→App:8443도 허용되는 것은 아니다. 포트 번호만이 아니라 출발·도착·방향을 함께 읽는다.
만약 맨 위에 “모든 집합→DB의 모든 TCP 허용”을 넣으면 Internet→DB:5432도 그 규칙에 먼저 일치한다. 아래에 직접접속 거부 규칙이 남아 있어도 해당 접속을 막지 못한다. 따라서 규칙 존재뿐 아니라 순서와 적용 대상을 시험한다. 관리 접속은 이 표에 숨겨 넣지 않고 별도로 승인된 경로·시간·계정으로 설계한다.
4. 첨부파일을 받은 것과 제공해도 되는 것은 다르다
OWASP의 파일 업로드 지침은 필요한 확장자 허용목록, 실제 형식 확인, 파일명·크기·권한 통제, 웹 공개 영역 밖의 저장과 가능한 내용 검사를 함께 제시한다. 요청자가 보낸 Content-Type은 위조될 수 있어 그것만으로 실제 형식을 확정하지 않는다. 파일 검사도 한 도구의 성공만으로 모든 위험이 없다고 증명하지 못한다.[SS-C04]
자체 정책 SS-U1은 업로드를 받으면 서버가 생성한 식별자와 변경 불가능한 객체 버전으로 격리 저장한다. 압축파일은 해제 후 크기·항목 수도 제한하며, 처리 프로그램은 갱신하고 최소권한으로 실행한다. 검사 기록에는 객체 ID·버전·해시, 검사기와 규칙 버전, 종료 상태와 시각을 묶는다. 검사 결과가 허용이고 요청된 객체가 그 버전과 같을 때만 제공 상태로 전환한다.
| 상태 | 내려받기 | 다음 처리 |
|---|---|---|
| 접수·검사 대기 | 불허 | 격리 상태 유지 |
| 검사 허용·버전 일치 | 별도 객체 인가 후 가능 | 제공 이력 기록 |
| 위험 탐지 | 불허 | 격리·담당 통보·조사 |
| 시간초과·검사기 오류 | 불허 | 미확인으로 남기고 제한된 재시도 |
| 허용 뒤 객체 버전 변경 | 불허 | 변경 버전을 새로 검사 |
시간초과는 깨끗한 파일이라는 결과가 아니다. 고객 문서를 공개 검사 서비스에 올리는 방식도 내용 유출과 약관을 검토하지 않고 채택하지 않는다. 검사되지 않은 객체가 직접 URL이나 캐시 경로로 나가는지까지 시험해야 한다. 정상 파일 검사는 해당 고객의 다운로드 권한을 대신하지 않는다.
한 파일의 검사 결과와 다운로드 인가를 나눈다 · 상태 따라가기
서버가 파일의 불변 버전을 고정하고 검사 대기에 둔다. 모든 단계에서 파일 판본·검사·인가의 위치를 유지하며 값과 허용 조건을 함께 확인합니다.
상자 안의 대상과 화살표의 조건을 함께 읽으세요. 좁은 화면에서는 같은 관계를 세로로 재배치한 도식을 보여 줍니다.
검사한 불변 버전이 허용된 뒤에도 고객의 객체 권한을 확인한다. 위험·오류·버전 불일치나 인가 실패는 미제공이며 정상 HTTPS 수신을 파일 안전성으로 해석하지 않는다.
이 예의 조건
- 검사한 불변 버전이 허용된 뒤에도 고객의 객체 권한을 확인한다. 위험·오류·버전 불일치나 인가 실패는 미제공이며 정상 HTTPS 수신을 파일 안전성으로 해석하지 않는다.
- 이 원문의 교육용 사례·조건 안에서 상태를 대조합니다. 실제 구축·실험 결과나 원문에 없는 성능 보장을 추가하지 않습니다.
관계도의 보충 설명
| 대상 | 원 설명 |
|---|---|
| 파일 접수 | 고객의 요청 |
| 버전 고정·격리 | 서버 ID·검사 대기 |
| 검사 결과 | 허용·실패 |
| 검사 버전 대조 | 같은 버전인지 확인 |
| 고객 인가 | 읽기 권한 확인 |
| 같은 버전 제공 | 제공 결과 기록 |
| 미제공 | 격리·조사·제한 재시도 |
| 연결 | 원 라벨·방향 |
|---|---|
| 파일 접수 → 버전 고정·격리 | 접수 / 정방향 / 실선 |
| 버전 고정·격리 → 검사 결과 | 검사 / 정방향 / 실선 |
| 검사 결과 → 검사 버전 대조 | 허용 / 정방향 / 실선 |
| 검사 결과 → 미제공 | 실패 / 정방향 / 실선 |
| 검사 버전 대조 → 고객 인가 | 일치 / 정방향 / 실선 |
| 고객 인가 → 같은 버전 제공 | 인가 / 정방향 / 실선 |
| 고객 인가 → 미제공 | 불허 / 정방향 / 실선 |
| 검사 버전 대조 → 미제공 | 불일치 / 정방향 / 실선 |
| 경계 | 포함 대상 |
|---|---|
| 격리·검사 | 버전 고정·격리, 검사 결과 |
| 제공 판단 | 검사 버전 대조, 고객 인가, 같은 버전 제공 |
| 관찰·상황 | 값·보충 정보 | 변화·이유 |
|---|---|---|
| 접수·격리 서버가 파일의 불변 버전을 고정하고 검사 대기에 둔다. |
|
|
| 검사 결과 검사에서 허용된 파일만 제공 후보이며 위험·오류는 격리 상태로 남는다. |
|
|
| 검사 허용 경로의 버전·인가 앞의 검사에서 허용된 경로에 한해 버전 일치와 현재 고객 객체 인가를 확인한다. |
|
|
| 세 조건을 지킨 제공 검사 허용이 계속 유효하고 동일 버전·현재 인가가 모두 맞을 때만 같은 바이트를 제공한다. |
|
|
한 파일의 검사 결과와 다운로드 인가를 나눈다 · 상태 따라가기
서버가 파일의 불변 버전을 고정하고 검사 대기에 둔다. 모든 단계에서 파일 판본·검사·인가의 위치를 유지하며 값과 허용 조건을 함께 확인합니다.
상자 안의 대상과 화살표의 조건을 함께 읽으세요. 좁은 화면에서는 같은 관계를 세로로 재배치한 도식을 보여 줍니다.
검사한 불변 버전이 허용된 뒤에도 고객의 객체 권한을 확인한다. 위험·오류·버전 불일치나 인가 실패는 미제공이며 정상 HTTPS 수신을 파일 안전성으로 해석하지 않는다.
이 예의 조건
- 검사한 불변 버전이 허용된 뒤에도 고객의 객체 권한을 확인한다. 위험·오류·버전 불일치나 인가 실패는 미제공이며 정상 HTTPS 수신을 파일 안전성으로 해석하지 않는다.
- 이 원문의 교육용 사례·조건 안에서 상태를 대조합니다. 실제 구축·실험 결과나 원문에 없는 성능 보장을 추가하지 않습니다.
관계도의 보충 설명
| 대상 | 원 설명 |
|---|---|
| 파일 접수 | 고객의 요청 |
| 버전 고정·격리 | 서버 ID·검사 대기 |
| 검사 결과 | 허용·실패 |
| 검사 버전 대조 | 같은 버전인지 확인 |
| 고객 인가 | 읽기 권한 확인 |
| 같은 버전 제공 | 제공 결과 기록 |
| 미제공 | 격리·조사·제한 재시도 |
| 연결 | 원 라벨·방향 |
|---|---|
| 파일 접수 → 버전 고정·격리 | 접수 / 정방향 / 실선 |
| 버전 고정·격리 → 검사 결과 | 검사 / 정방향 / 실선 |
| 검사 결과 → 검사 버전 대조 | 허용 / 정방향 / 실선 |
| 검사 결과 → 미제공 | 실패 / 정방향 / 실선 |
| 검사 버전 대조 → 고객 인가 | 일치 / 정방향 / 실선 |
| 고객 인가 → 같은 버전 제공 | 인가 / 정방향 / 실선 |
| 고객 인가 → 미제공 | 불허 / 정방향 / 실선 |
| 검사 버전 대조 → 미제공 | 불일치 / 정방향 / 실선 |
| 경계 | 포함 대상 |
|---|---|
| 격리·검사 | 버전 고정·격리, 검사 결과 |
| 제공 판단 | 검사 버전 대조, 고객 인가, 같은 버전 제공 |
| 관찰·상황 | 값·보충 정보 | 변화·이유 |
|---|---|---|
| 접수·격리 서버가 파일의 불변 버전을 고정하고 검사 대기에 둔다. |
|
|
| 검사 결과 검사에서 허용된 파일만 제공 후보이며 위험·오류는 격리 상태로 남는다. |
|
|
| 검사 허용 경로의 버전·인가 앞의 검사에서 허용된 경로에 한해 버전 일치와 현재 고객 객체 인가를 확인한다. |
|
|
| 세 조건을 지킨 제공 검사 허용이 계속 유효하고 동일 버전·현재 인가가 모두 맞을 때만 같은 바이트를 제공한다. |
|
|
직접 계산: 검사가 밀렸다고 검사를 생략하지 않는다
자체 계산 SS-Q1은 빈 대기열에서 초당 12개 파일이 들어오고 검사 처리율은 초당 8개인 상태가 30초 유지된다고 정한다. 모든 파일의 처리비용이 같고 유입·처리율이 일정하다는 교육용 가정이다. 대기 증가율은 12−8=4개/초이므로 30초 뒤 대기는 120개다.
처리율을 초당 16개로 회복해도 새 유입 초당 12개가 계속된다. 대기를 줄이는 순처리율은 16−12=4개/초이며, 120개를 해소하는 데 30초가 더 필요하다. 120/16=7.5초는 새 유입을 무시한 계산이다. 처리율이 유입률 이하라면 이 모형에서 대기가 유한한 시간에 없어지지 않는다.
운영 정책은 대기량·저장 여유·예상 지연을 관측하고 초과하면 새 접수를 제한하거나 재시도 시점을 안내하는 것이다. 이미 받은 파일은 검사 대기 상태로 유지한다. 검사 우회로 용량을 늘리는 대안은 기각한다. 실제 파일 크기·검사 시간의 편차와 재시도 부하는 별도 측정해야 한다.
5. 설계 결과와 출시 판단
업무 책임자는 미검사 파일 제공 불허와 기존 승인 문서의 읽기 범위를 정한다. 네트워크 담당은 SS-F1의 실제 경로·우회·규칙 변경을 시험하고, 서비스 담당은 객체별 인가와 SS-U1의 상태 전이를 집행한다. 호스트 담당은 검사 작업자의 제한 권한과 행위 수집·격리 기능을 운영한다. 저장 담당은 검사 대상 버전과 제공 버전의 일치를 보장하며, 보안 담당은 독립된 기록 경로에서 판정과 실제 제공 결과를 대조한다.
시험은 정상 업로드·다운로드 외에 직접 DB 접근, 다른 고객 문서 요청, 위험 파일, 검사 시간초과, 허용 후 파일 교체, 기록 수집 장애와 대기 급증을 포함한다. 거부·미확인 상태인데 문서가 제공되거나 내부 우회 경로가 열리면 출시를 보류한다. 격리 명령이 발행된 시점과 실제 호스트 격리가 확인된 시점도 따로 기록한다.
항상 전 구간을 복호화해서 검사하는 대안은 개인정보 노출·키 집중·성능 비용 때문에 무조건 선택하지 않는다. 승인된 위치 중 필요한 곳에서 검사하고 보이지 않는 영역은 다른 호스트·업무 기록으로 보완한다. 모든 관리 권한을 한 계정에 모으는 대안도 기각하며, 장애 때의 예외는 대상·승인·기간·만료·사후 확인을 명시한다.
실패를 성공으로 덮어쓰지 않는다
WAF 통과는 파일 무해 판정이 아니고, 악성코드 검사 허용은 고객 권한의 증거가 아니다. 호스트 수집기가 멈춰 경보가 없어진 경우는 공격이 없어진 것과 다르다. 공통 관리 계정 침해와 검사·수집 장애를 별도로 시험해야 방어층의 실제 독립성을 볼 수 있다.
격리에는 업무 중단과 증거 훼손 위험도 있다. 특정 검사 작업자만 격리할지 전체 서비스 연결을 차단할지 사건 범위와 승인권자를 확인한다. 확보하지 않은 관측을 상상하여 침해 원인이나 공격자 신원을 확정하지 않는다.
이 절의 공식 보안시스템 범위
이 절은 네트워크·호스트·애플리케이션·데이터 경로에 방어 기능을 배치하고 실패 시 집행 결과를 판단한다. 대상은 문서 서비스의 통신 규칙·격리 객체·검사 결과·제공 권한이다. 통신 허용과 파일·객체 검증의 경계를 나누며 우회·검사 실패·버전 교체·대기 급증을 거부·보류 조건으로 시험한다. 모든 제품의 세부 설정과 전체 공격 탐지율을 완성하거나 독립적으로 승인하는 범위는 아니다.
6. 자체 10점 문제와 풀이 구조
SS-F1에서 Internet→DB:5432의 판정과 맨 위에 광범위한 DB 허용 규칙을 추가했을 때의 차이를 설명하고, SS-Q1의 대기량과 회복 후 해소시간을 계산하라.
규칙 존재가 아니라 첫 일치 순서를 읽고, 대기 해소는 총처리율이 아닌 순처리율로 계산한다. 이 문제와 아래 답안은 교육용이며 실제 기출·공식 채점표가 아니다.
독립 풀이: 첫 일치 규칙을 번호로 쓰고, 대기 증가와 해소 계산에 서로 다른 분모를 적는다.
10점 자체 연습의 풀이와 완성 답안
답안 목차
- 통신의 첫 일치 판정과 규칙 순서
- 대기 증가율과 30초 뒤 대기량
- 회복 후 순처리율과 해소시간
통신: 출발·도착·포트 → 첫 일치 규칙 → 허용/거부
대기: (12−8)×30 = 120개 → 120/(16−12) = 30초완성 답안 예시
SS-F1에서 Internet→DB:5432는 앞의 세 허용 규칙과 일치하지 않아 마지막 규칙으로 거부된다. 그러나 맨 위에 모든 집합에서 DB로 가는 TCP를 허용하면 그 규칙에 먼저 일치하여 허용된다. 아래 거부 규칙의 존재만으로 우선하는 허용을 취소할 수 없으므로 대상·순서·실제 경로를 함께 시험한다.
SS-Q1은 초당 12개 유입과 8개 처리의 차이인 4개/초만큼 대기가 증가한다. 처음 빈 대기열에서 30초가 지나면 4×30=120개가 쌓인다. 이는 일정한 유입·처리율과 같은 처리비용을 가정한 계산이다.
회복 후 초당 16개를 처리해도 새 유입 12개를 빼면 순처리율은 4개/초다. 따라서 120개를 없애는 데 30초가 더 필요하며 120/16=7.5초로 계산하면 새 유입을 누락한다. 용량 부족 때에도 미검사 파일 제공을 허용하지 않고 접수 제한과 검사 대기 상태를 유지한다.
7. 자체 25점 문제
고객 문서 서비스에 네트워크·엔드포인트·애플리케이션·데이터 방어를 배치하라. 정상 경로와 우회 방지, 파일 검사 실패와 용량 부족, 역할·증거·출시 보류 조건을 포함한 설계 결과를 작성하라.
“방화벽과 EDR을 도입한다”에서 끝내지 말고 각 도구가 보는 것, 집행하는 것, 알 수 없는 것을 적는다. 이미 배운 인가와 암호 원리는 재정의하지 않고 실제 문서 제공에 적용한다.
설계부터 쓰기: 한 파일의 버전을 고정하고, 검사 오류와 정상 검사 뒤 고객 인가 실패를 다른 경로로 적는다. 이 연습의 판단 항목은 공식 채점표가 아니다.
25점 자체 연습의 설계 이유와 완성 답안
설계 답안 목차
- 보호목표와 허용 경로
- 파일 격리·검사·제공 상태
- 용량과 장애 처리
- 역할·시험·출시 보류
허용 경로·격리·제공 구조와 한 파일의 판정 그림을 연결해 답안을 읽는다. 경로 제한과 요청·객체 인가 뒤 격리 검사한 같은 승인 버전만 제공한다. 호스트 행위는 별도로 관측하고 보호된 증거에 연결하며, 실패·미확인·인가 불허는 모두 미제공이다.
완성 설계 답안 예시
보호목표는 허가된 고객에게 승인된 버전의 문서만 제공하는 것이다. 외부는 공개 게이트웨이로만 들어오고 게이트웨이→문서 서비스, 서비스→DB의 필요한 연결만 허용한다. 직접 DB 접근과 저장소 우회를 시험하며 WAF의 HTTP 검사, 호스트의 행위 수집·제한 권한, 서비스의 객체별 인가를 서로 다른 통제로 배치한다.
첨부파일은 서버 식별자와 변경 불가능한 버전으로 격리하고 형식·크기·권한과 가능한 내용 검사를 적용한다. 객체 ID·버전·해시·검사기 및 규칙 버전·결과를 묶어 검사 허용과 버전 일치가 확인된 경우에만 제공 상태로 전환한다. 위험 탐지·시간초과·검사기 오류·버전 변경에서는 제공하지 않으며 정상 검사 뒤에도 고객 권한을 별도로 확인한다.
유입이 검사 용량을 넘으면 대기량과 저장 여유를 관측하여 신규 접수를 제한하고 재시도를 안내한다. 대기 해소는 새 유입을 뺀 순처리율로 판단하며 검사 우회로 성능을 회복하지 않는다. 미검사 파일은 보류하되 기존 승인 문서 읽기의 지속 여부는 별도 정책에 따라 운영한다.
업무 책임자는 보호·중단 범위, 네트워크 담당은 경로·규칙, 호스트 담당은 제한 권한·격리, 서비스·저장 담당은 인가·상태·버전 일치를 책임진다. 보안 담당은 별도 보호된 기록에서 판정과 실제 제공을 대조한다. 직접 접근·다른 고객 문서·시간초과·파일 교체·수집 장애를 시험하고 거부·미확인인데 제공되거나 우회 경로가 남으면 출시를 보류한다. 공통 관리 계정의 의존성과 승인된 복호화 위치의 개인정보·성능 비용도 검토한다.
8. 오답을 직접 고치기
| 잘못 쓴 답 | 오류 이유 | 수정 예 | 복습 |
|---|---|---|---|
| HTTPS니까 파일도 안전하다 | 통신 보호와 내용 검사 혼동 | 격리·검사·객체 인가를 따로 적용 | 파일 처리 |
| DB 거부 규칙이 있으니 차단된다 | 먼저 일치한 허용을 무시 | 규칙 순서와 출발·도착을 함께 판정 | 규칙 |
| 검사 시간초과를 정상으로 처리 | 미확인을 성공으로 변경 | 제공 보류·제한 재시도 | 상태표 |
| 파일명이 같으니 옛 검사 재사용 | 실제 객체 버전이 다를 수 있음 | 검사한 불변 버전과 제공 버전 대조 | 파일 처리 |
| 대기는 7.5초에 해소된다 | 새 유입을 누락 | 120/(16−12)=30초 | 용량 |
| 네 장비의 방어율을 곱한다 | 독립성과 확률 근거가 없음 | 공통 원인과 우회·고장 시험을 제시 | 비교 |
| 경보가 사라져 사고가 끝났다 | 수집 장애일 수 있음 | 수집 상태와 실제 집행 결과 확인 | 실패 |
| 격리 명령 발행이 대응 완료다 | 명령과 결과는 다름 | 실제 대상·격리 결과를 확인 | 출시 판단 |
조건을 바꿔 풀기
회복 뒤에도 유입이 초당 20개라면? 처리 16개보다 많아 대기는 초당 4개씩 더 늘며 유한 해소시간을 제시할 수 없다. 순처리율로 돌아가 접수 제한이나 추가 용량을 판단한다.
검사 허용 뒤 같은 이름으로 파일을 교체하면? 이름이 같아도 버전이 다르면 미검사 객체다. 옛 허용 결과로 제공하지 않고 다시 검사한다. 버전 연결을 확인한다.
규칙 1~3의 순서만 서로 바꾸면? 이 모형에서는 대상이 겹치지 않아 제시한 판정이 유지된다. 넓은 규칙을 추가한 경우와 구별하고 처음 일치 조건으로 이유를 설명한다.
근거와 한계
SS-C01은 NIST SP 800-41 Rev.1(2009-09-28)의 공식 개요에 제시된 방화벽의 범위, SS-C02는 NIST SP 800-94(2007-02-20)의 공식 개요와 IDPS 구분에 한정한다. SP 800-94 Rev.1 초안은 최종판이 아니며, 오래된 기본 개념 문서를 오늘날 모든 공격과 제품의 지침으로 표시하지 않는다.
SS-C03은 OWASP ModSecurity의 HTTP 필터링 설명과 Microsoft Defender for Endpoint의 EDR 개요를 기능 비교의 근거로 사용한다. 특정 제품의 구매 권고나 실제 탐지율을 의미하지 않는다. SS-C04는 OWASP File Upload Cheat Sheet의 Defense in Depth·File Storage Location·User Permissions·Upload and Download Limits를 독립적으로 설명한 것이다. 관찰일은 2026-09-19이며 발행일 미확인 웹 문서와 구별한다.
SS-F1·SS-U1·SS-Q1과 표·도식·답안은 자체 작성이다. 원문 그림을 복사하지 않았고, 제품별 완전 설정·실제 침해 조사·사람에 의한 독립 기술 및 권리 검토는 제공하지 않는다.
회독의 핵심
방어는 허용 경로·관측 위치·실제 집행을 연결하는 일이다. 통신 성공, 파일 검사 허용, 고객 인가는 서로 대신하지 않는다. 미확인과 실패는 그대로 보류하고 판정 대상 버전·운영 용량·공통 실패·우회를 시험한다. 다음 절은 이 경로에서 나온 기록을 사고 판단과 안전한 대응으로 연결한다.
회상: 허용된 443 연결의 파일이 아직 미제공일 수 있는 이유를 세 단계로 말한다. 회복 후 처리율 16개/초에서 새 유입 12개/초를 먼저 빼는 이유도 설명하고 파일 상태와 대기 계산으로 확인한다.
조건을 바꾸어 연습하기: 통신·검사 대상·실제 완료량을 각각 판정한다.
다음은 SS-F1·SS-U1·SS-Q1의 조건을 바꾼 교육용 사례다. 통신 규칙은 여전히 첫 일치 방식이며, 마지막 문제의 검사 시도와 파일 완료는 다른 수량이다.
- DF-O. SS-F1 맨 위에
모든 집합→DB의 모든 TCP 허용을 추가했다. 담당자가 그 아래에Internet→DB TCP 5432 거부도 넣었다. Internet→DB:5432와 App→DB:5432는 각각 어느 규칙으로 판정되는가? Internet의 모든 DB TCP 직접 연결을 차단하되 App→DB:5432는 유지하려면 어느 출발·도착·범위의 규칙을 어디에 두어야 하는가? Internet→DB:22와 Internet→App:8443도 새 순서로 판정하라. - DF-V. 객체 O7의 v7은 검사 허용이며 그 결과는 O7·v7·해시 H7에 묶였다. 같은 표시 파일명으로 v8이 접수되어 아직 검사 대기 중이다. v7을 검사한 작업자가 늦게 보낸 허용 결과와 v8의 내려받기 요청이 만났다. 파일명만 같으면 제공해도 되는가? v8의 해시가 우연히 H7과 같다고 보고되면 SS-U1에서 v8 검사를 건너뛰어도 되는가? 이어 v7은 현재 고객의 읽기 권한이 없고, 다른 기존 문서 O9·v3은 검사 허용·버전 일치·현재 고객 인가가 모두 충족한다고 한다. 세 요청의 제공 여부와 검사 장애 때 중단 범위를 설명하라.
- DF-B. 대기는 120개이며 새 접수는 12개/초다. 회복한 검사 용량 16회/초는 파일 완료가 아니라 시도 수다. 고정된 5초마다 80회 중 16회가 오류 재시도에 사용되어 추가 파일을 완료하지 못하고, 나머지 64회는 서로 다른 파일 하나씩을 완료한다고 가정한다. 각 구간 끝에서 대기를 계산할 때 순감소량과 해소시간은 얼마인가? 같은 조건에서 새 접수만 8개/초로 제한하면 얼마인가? 이것을 실제 파일별 지연 보장이나 미검사 파일 제공 허가로 해석해도 되는가?
첫 일치 규칙·검사 버전과 인가·재시도 포함 대기 풀이
1. DF-O — 아래 거부는 먼저 맞은 허용을 취소하지 못한다. 두 DB:5432 요청 모두 맨 위의 넓은 허용에 먼저 맞는다. 따라서 Internet의 좁은 거부를 아래에 더해도 결과가 바뀌지 않는다. Internet에서 DB로 향하는 모든 TCP를 거부하는 규칙을 넓은 허용보다 위에 두면 Internet→DB:5432와 :22는 이 거부에 먼저 맞는다. App은 그 출발 조건과 다르므로 App→DB:5432는 허용된다. Internet→App:8443은 DB 규칙에도 기존 Gateway→App 규칙에도 맞지 않아 마지막 기본 거부로 판정한다.
이 순서 변경은 제시한 두 요구만 만족한다. 넓은 허용이 남으면 App→DB:22 같은 다른 집합의 불필요한 TCP도 여전히 열릴 수 있다. 원 SS-F1로 넓은 허용을 제거하는 대안을 함께 검토하고, 허용해야 할 경로와 거부해야 할 경로를 각각 시험한다. 이 표는 새 연결의 자체 모형이며 실제 상태 추적·응답 통신·제품별 규칙 문법을 대신하지 않는다.
2. DF-V — 검사 결과는 표시 이름이 아니라 확정한 객체 버전에 연결한다. v7 허용 결과로 v8을 제공하면 검사한 버전과 제공할 버전이 달라 미제공이다. 이 정책은 객체 ID·버전·해시를 함께 묶으므로 같은 해시 하나만으로 v8의 새 검사를 생략하지 않는다. 동일 해시가 모든 맥락과 권한, 최신 검사 규칙을 같게 만든다는 추론도 하지 않는다. 다른 재사용 정책을 도입하려면 그 조건을 따로 설계해야 하며 원 SS-U1이 이미 허용한다고 쓰지 않는다.
v7은 검사 허용·버전 일치여도 현재 고객 인가가 없으므로 미제공이다. O9·v3은 제시한 세 조건을 모두 충족하므로 기존 승인 문서 읽기를 유지하는 정책에서 제공할 수 있다. 검사기 장애 때 v8을 미검사 상태로 보류하는 것과 모든 기존 문서 읽기를 중단하는 것을 구별한다. 직접 URL·캐시도 같은 버전과 현재 권한을 집행해야 하며, 이전에 실제로 내려받은 사본을 회수했다는 뜻은 아니다.
3. DF-B — 시도 용량에서 서로 다른 파일의 완료량을 먼저 구한다. 한 구간의 실제 완료는 64개이고 새 접수는 12×5=60개다. 순감소는 4개/5초이므로 120/4=30구간, 즉 150초 뒤 구간 끝에서 대기가 해소된다. 16−12=4개/초로 두면 재시도가 차지한 용량을 빠뜨려 30초로 잘못 계산한다. 재시도 때 같은 원 파일을 대기열의 새 파일처럼 또 더해서도 안 된다.
접수를 8개/초로 제한하면 한 구간에 40개가 들어와 순감소는 64−40=24개다. 120/24=5구간, 즉 25초다. 접수하지 않은 요청에는 정책에 따른 제한·재시도 안내를 주고, 이미 접수한 파일은 계속 격리·검사한다. 이 계산은 5초 구간의 고정 완료량과 동일 비용을 가정한 대기 수량 모형이다. 구간 안의 도착·완료 순서와 파일별 처리시간은 없으므로 개별 고객의 지연 상한을 보장하지 않으며 검사·버전·인가 조건도 면제하지 않는다.