
# AI 기반 자동화 ISO 27001 제어 매핑으로 보안 설문지 자동화

보안 설문지는 공급업체 위험 평가에서 병목 현상이 됩니다. 감사자는 자주 SaaS 제공업체가 [ISO 27001](https://www.iso.org/isoiec-27001-information-security.html) 규정을 준수한다는 증거를 요구하지만, 올바른 제어를 찾고, 해당 정책을 추출하며, 간결한 답변을 작성하는 데 수 일이 소요될 수 있습니다. 새로운 세대의 AI 기반 플랫폼이 **반응형·인력 중심** 프로세스를 **예측형·자동화** 워크플로로 전환하고 있습니다.

이 글에서는 다음과 같은 **전례 없는 엔진**을 소개합니다.

1. **전체 ISO 27001 제어 집합을 ingest**하고 각 제어를 조직 내부 정책 저장소와 매핑합니다.  
2. **지식 그래프**를 구축해 제어, 정책, 증거 아티팩트, 이해관계자 소유자를 연결합니다.  
3. **Retrieval‑Augmented Generation (RAG) 파이프라인**을 사용해 *규정 준수, 맥락 적합, 최신*인 설문 답변을 생성합니다.  
4. **실시간 정책 드리프트를 감지**해 제어의 원본 정책이 변경될 경우 자동 재생성을 촉구합니다.  
5. **저코드 UI**를 제공해 감사자가 생성된 응답을 미세 조정하거나 승인 후 제출할 수 있게 합니다.  

아래에서는 아키텍처 구성 요소, 데이터 흐름, 핵심 AI 기술, 그리고 초기 파일럿에서 측정된 효과를 살펴봅니다.

---

## 1. ISO 27001 제어 매핑이 중요한 이유

[ISO 27001](https://www.iso.org/isoiec-27001-information-security.html)은 정보 보안 관리에 대한 전 세계적으로 인정받는 프레임워크입니다. 그 **부속서 A**에는 114개의 제어와 하위 제어, 구현 지침이 포함됩니다. 예를 들어 제3자 보안 설문에서 다음과 같은 질문을 받게 되면:

> “암호화 키 수명 주기를 어떻게 관리합니까? (Control A.10.1)”

보안 팀은 해당 정책을 찾아내고, 구체적인 프로세스 설명을 추출한 뒤 설문 형식에 맞게 재작성해야 합니다. 수십 개의 제어에 대해 여러 설문에 반복하면 다음과 같은 문제가 발생합니다.

* **중복 작업** – 동일한 답변을 요청마다 새로 작성합니다.  
* **불일치된 표현** – 미세한 문구 차이가 격차로 해석될 수 있습니다.  
* **구식 증거** – 정책은 진화하지만 설문 초안은 종종 그대로 남아 있습니다.  

ISO 27001 제어를 재사용 가능한 답변 조각에 자동 매핑하면 이러한 문제를 대규모로 제거할 수 있습니다.

---

## 2. 핵심 아키텍처 설계도

엔진은 세 가지 축을 중심으로 구축됩니다.

| 축 | 목적 | 핵심 기술 |
|--------|---------|-------------------|
| **제어‑정책 지식 그래프** | ISO 27001 제어, 내부 정책, 아티팩트, 담당자를 쿼리 가능한 그래프로 정규화 | Neo4j, RDF, Graph Neural Networks (GNN) |
| **RAG 답변 생성** | 가장 관련성 높은 정책 조각을 검색·컨텍스트와 결합해 다듬은 답변을 생성 | Retrieval (BM25 + Vector Search), LLM (Claude‑3, Gemini‑Pro), Prompt Templates |
| **정책 드리프트 감지·자동 갱신** | 원본 정책 변경을 감시하고 재생성을 트리거해 이해관계자에 알림 | Change Data Capture (CDC), Diff‑Auditing, Event‑Driven Pub/Sub (Kafka) |

아래는 데이터 흐름을 시각화한 Mermaid 다이어그램입니다. 코드 블록 내부 내용은 그대로 유지합니다.

```mermaid
graph LR
    A[ISO 27001 Control Catalog] -->|Import| KG[Control‑Policy Knowledge Graph]
    B[Internal Policy Store] -->|Sync| KG
    C[Evidence Repository] -->|Link| KG
    KG -->|Query| RAG[Retrieval‑Augmented Generation Engine]
    RAG -->|Generate| Answer[Questionnaire Answer Draft]
    D[Policy Change Feed] -->|Event| Drift[Policy Drift Detector]
    Drift -->|Trigger| RAG
    Answer -->|Review UI| UI[Security Analyst Dashboard]
    UI -->|Approve/Reject| Answer
```

*All node labels are wrapped in double quotes as required by the Mermaid syntax.*

---

## 3. 제어‑정책 지식 그래프 구축

### 3.1 데이터 모델링

* **Control 노드** – 각 ISO 27001 제어(예: “A.10.1”)는 `title`, `description`, `reference`, `family` 속성을 가진 노드가 됩니다.  
* **Policy 노드** – Markdown, Confluence, Git 기반 저장소 등에서 가져온 내부 보안 정책을 ingest합니다. 속성에는 `version`, `owner`, `last_modified` 등이 포함됩니다.  
* **Evidence 노드** – 감사 로그, 구성 스냅샷, 제3자 인증서 등에 대한 링크.  
* **Ownership Edge** – `MANAGES`, `EVIDENCE_FOR`, `DERIVES_FROM` 등 관계를 정의합니다.  

이 스키마 덕분에 SPARQL‑유사 쿼리를 손쉽게 수행할 수 있습니다.

```cypher
MATCH (c:Control {id:"A.10.1"})-[:DERIVES_FROM]->(p:Policy)
RETURN p.title, p.content LIMIT 1
```

### 3.2 GNN을 활용한 강화

과거 설문 답변 쌍을 활용해 Graph Neural Network를 학습시켜 **제어와 정책 조각 간 의미 유사도**를 `relevance_score`라는 edge 속성으로 저장합니다. 이는 단순 키워드 매칭보다 검색 정확도를 크게 높입니다.

---

## 4. Retrieval‑Augmented Generation 파이프라인

### 4.1 Retrieval 단계

1. **키워드 검색** – 정책 텍스트에 BM25 적용.  
2. **벡터 검색** – Sentence‑Transformers 임베딩을 이용해 의미 기반 매칭.  
3. **하이브리드 랭킹** – BM25와 GNN `relevance_score`를 선형 결합(α = 0.6 의미, 0.4 어휘)하여 최종 순위 산정.  

상위 k(보통 3) 정책 발췌를 LLM에 전달하고 설문 프롬프트와 함께 사용합니다.

### 4.2 Prompt Engineering

동적 프롬프트 템플릿은 제어군에 맞게 조정됩니다.

```
You are a compliance assistant. Using the following policy excerpts, craft a concise answer (max 200 words) for ISO 27001 control "{{control_id}} – {{control_title}}". Maintain the tone of the source policy but tailor it to a third‑party security questionnaire. Cite each excerpt with a markdown footnote.
```

LLM은 이 자리표에 추출된 발췌를 삽입해 **인용이 풍부한 초안**을 생성합니다.

### 4.3 Post‑Processing

* **Fact‑Check 레이어** – 두 번째 LLM 패스를 통해 모든 진술이 추출된 텍스트에 기반하는지 검증.  
* **Redaction 필터** – 공개해서는 안 되는 민감 데이터를 자동 마스킹.  
* **Formatting 모듈** – 설문이 요구하는 마크업(HTML, PDF, 일반 텍스트)으로 변환.

---

## 5. 실시간 정책 드리프트 감지

정책은 정적이지 않습니다. **Change Data Capture (CDC) 커넥터**가 커밋, 머지, 삭제 등을 감시합니다. 변경이 ISO 제어와 연결된 노드에 영향을 주면 드리프트 감지기는 다음을 수행합니다.

1. 이전·신규 정책 발췌 간 **diff hash** 계산.  
2. `policy.drift` Kafka 토픽에 **드리프트 이벤트** 전송.  
3. RAG 파이프라인을 트리거해 영향을 받은 답변을 재생성.  
4. 정책 소유자와 분석가 대시보드에 **알림** 전송.  

이 닫힌 루프 덕분에 모든 공개된 설문 답변이 최신 내부 제어와 일치합니다.

---

## 6. 사용자 경험: 분석가 대시보드

UI는 **색상 코드가 적용된 상태 그리드**를 보여줍니다.

* **녹색** – 답변 생성 완료, 드리프트 없음, 내보내기 가능.  
* **노란색** – 최근 정책 변경 감지, 재생성 대기.  
* **빨간색** – 인간 검토 필요(예: 애매한 정책, 마스킹 플래그).  

주요 기능:

* **원클릭 내보내기** – PDF 혹은 CSV 형식.  
* **인라인 편집** – 예외적인 경우 맞춤 수정.  
* **버전 히스토리** – 각 답변에 사용된 정확한 정책 버전 표시.  

플랫폼에 삽입된 짧은 동영상(데모)에서는 제어 선택 → 자동 생성 답변 검토 → 승인 → 내보내기까지의 전형적인 흐름을 보여줍니다.

---

## 7. 수치화된 비즈니스 효과

| 지표 | 자동화 전 | 자동화 후 (파일럿) |
|--------|-------------------|--------------------------|
| 평균 답변 작성 시간 | 제어당 45 분 | 제어당 3 분 |
| 설문 전체 소요 기간 | 12 일 | 1.5 일 |
| 답변 일관성 점수(내부 감사) | 78 % | 96 % |
| 정책 드리프트 반영 지연 | 7 일(수동) | < 2 시간(자동) |

중간 규모 SaaS 기업(≈ 250명)에서 진행된 파일럿은 보안팀의 주간 작업량을 **≈ 30 시간** 절감했고, 구식 답변으로 인한 **4건**의 주요 컴플라이언스 사고를 방지했습니다.

---

## 8. 보안 및 거버넌스 고려사항

* **데이터 거주지** – 모든 지식 그래프 데이터는 조직 전용 VPC 내에 머무르며, LLM 추론은 온프레미스 하드웨어 또는 전용 프라이빗 클라우드 엔드포인트에서 실행됩니다.  
* **접근 제어** – 역할 기반 권한으로 정책 편집, 재생성 트리거, 생성 답변 조회를 제한합니다.  
* **감사 로그** – 각 답변 초안은 사용된 정확한 정책 버전을 연결하는 암호화 해시를 저장해 감사 시 변경 불가능한 검증이 가능합니다.  
* **설명 가능성** – 대시보드의 **추적성 뷰**는 사용된 정책 발췌와 해당 관련 점수를 보여 주어, 규제기관에 AI 사용이 책임감 있게 이루어졌음을 입증합니다.

---

## 9. ISO 27001을 넘어 엔진 확장하기

현재 프로토타입은 ISO 27001에 초점을 맞추고 있지만, **프레임워크에 구애받지 않는 아키텍처**를 갖추고 있습니다.

* **[SOC 2](https://secureframe.com/hub/soc-2/what-is-soc-2) 신뢰 서비스 기준** – 동일 그래프에 다른 제어군 연결.  
* **[HIPAA](https://www.hhs.gov/hipaa/index.html) 보안 규칙** – 18개 표준을 로드하고 의료‑특화 정책에 매핑.  
* **[PCI‑DSS](https://www.pcisecuritystandards.org/pci_security/)** – 카드 데이터 처리 절차와 연계.  

새 프레임워크를 추가하려면 해당 제어 카탈로그를 로드하고 기존 정책 노드와 초기 엣지를 설정하면 됩니다. GNN은 더 많은 학습 쌍이 수집될수록 자동으로 적응합니다.

---

## 10. 시작하기 위한 단계별 체크리스트

1. **ISO 27001 제어 목록 수집**(공식 Annex A CSV 다운로드).  
2. **내부 정책을 구조화된 포맷**(버전 정보를 포함한 Markdown)으로 내보내기.  
3. **지식 그래프 배포**(Neo4j Docker 이미지, 사전 정의된 스키마 사용).  
4. **RAG 서비스 설치**(Python FastAPI 컨테이너와 LLM 엔드포인트).  
5. **CDC 설정**(Git 훅 또는 파일 시스템 감시)해 드리프트 감지기에 연결.  
6. **분석가 대시보드 실행**(React 프론트엔드, OAuth2 인증).  
7. **파일럿 설문 실행**하고 프롬프트 템플릿을 반복적으로 미세 조정.  

이 로드맵을 따르면 대부분의 조직이 **4‑6주** 내에 완전 자동화된 ISO 27001 매핑 파이프라인을 구축할 수 있습니다.

---

## 11. 향후 발전 방향

* **연합 학습** – 파트너 기업 간에 익명화된 제어‑정책 임베딩을 공유해 관련성 점수를 향상시키면서도 자체 정책은 노출하지 않음.  
* **멀티모달 증거** – Vision‑LLM을 활용해 다이어그램, 구성 파일, 로그 스니펫 등을 포함해 답변 풍부화.  
* **생성형 컴플라이언스 플레이북** – 단일 질문 답변을 넘어 전체 컴플라이언스 서술서, 증거 표, 위험 평가까지 자동 생성.  

**지식 그래프, RAG, 실시간 드리프트 감시**의 결합은 모든 보안 설문 자동화의 새로운 기준이 될 것입니다. 선점 기업은 속도뿐 아니라 **추적 가능하고 최신이며 감사 가능한** 답변을 제공하는 경쟁력을 확보하게 됩니다.

---

## 관련 문서
- [ISO 27001 – 공식 Annex A 제어 목록](https://www.iso.org/standard/54534.html)  
- [NIST SP 800‑53 ↔ ISO 27001 매핑](https://csrc.nist.gov/publications/detail/sp/800-53/rev-5/final)  
- [Retrieval‑Augmented Generation: 기술 및 응용에 대한 조사](https://arxiv.org/abs/2302.01279)