기존 애플리케이션 액세스:
전통적으로 애플리케이션은 SaaS 서비스든 엔터프라이즈 애플리케이션이든 RESTful API 및 gRPC와 같은 API를 통해 액세스합니다. 이러한 애플리케이션에 대한 브라우저 기반 액세스도 JavaScript를 통해 API를 활용합니다. 일반적으로 애플리케이션이 노출하는 모든 리소스에는 해당 리소스에 대해 다양한 작업을 수행할 수 있는 HTTP 메서드가 있는 해당 API 엔드포인트가 있습니다. 간단한 SaaS HR 애플리케이션을 예로 들어 설명해 보겠습니다. 이 애플리케이션은 직원, 부서, 급여 등 다양한 리소스를 관리합니다. 다음은 몇 가지 주요 리소스와 그에 해당하는 API 엔드포인트입니다:
- Employees: GET /api/employees – 모든 직원 목록 검색, POST /api/employees – 새 직원 추가, GET /api/employees/{id} – 특정 직원 세부 정보 검색, PUT /api/employees/{id} – 특정 직원 세부 정보 업데이트, DELETE /api/employees/{id} – 특정 직원 제거.
- 부서 GET /api/departments – 모든 부서 목록 검색, POST /api/departments – 새 부서 추가, GET /api/departments/{id} – 특정 부서의 세부 정보 검색, PUT /api/departments/{id} – 특정 부서의 세부 정보 업데이트, DELETE /api/departments/{id} – 특정 부서 제거.
- 급여: GET /api/payrolls – 모든 급여 기록 목록 검색, POST /api/payrolls – 새 급여 기록 생성, GET /api/payrolls/{id} – 특정 급여 기록의 상세 정보 검색, PUT /api/payrolls/{id} – 특정 급여 기록의 상세 정보 업데이트, DELETE /api/payrolls/{id} – 특정 급여 기록 제거.
이 예에서는 직원, 부서, 급여의 세 가지 API 엔드포인트가 있습니다.
제로 트러스트 보안
SASE/SSE 및 서비스 메시 기술을 활용하는 제로 트러스트 보안은 규칙으로 작동하며, 각 규칙은 API 엔드포인트 및 메소드에 대한 컨텍스트별 액세스를 제공합니다. 컨텍스트에는 리소스에 액세스하는 사용자의 JWT 클레임, 사용자가 애플리케이션 리소스에 액세스하는 네트워크 컨텍스트, 사용자가 애플리케이션 리소스에 액세스하는 엔드포인트의 기기 상태, 사용자의 지리적 위치, 액세스 날짜, 액세스 시간 및 기타 관련 요소가 포함됩니다. 다음은 HR 애플리케이션에 대한 제로 트러스트 보안을 보여주는 몇 가지 샘플 규칙입니다:
- 규칙: 직원 데이터 액세스 – 규정을 준수하는 장치에서 회사 네트워크에 액세스하는 HR 관리자는 직원 목록(GET: /api/employees)과 특정 직원에 대한 세부 정보(GET: /api/employees/{id})를 검색할 수 있습니다.
- 규칙: 부서 관리 – 평일 오전 9시부터 오후 6시 사이에 국내의 모든 네트워크에서 호환되는 디바이스로 접속하는 관리자는 부서 세부 정보를 추가(POST: /api/departments), 업데이트(PUT: /api/departments/{id}) 또는 제거(DELETE: /api/departments/{id})를 할 수 있습니다.
- 규칙: 급여 기록 생성 – 사무실 내 규정 준수 장치에서 기업 VPN을 통해 액세스하는 급여 전문가는 특정 급여 기록을 생성(POST: /api/payrolls), 업데이트(PUT: /api/payrolls/{id}), 세부 정보 검색(GET: /api/payrolls/{id}) 또는 제거(DELETE: /api/payrolls/{id})를 할 수 있습니다.
이러한 규칙은 사용자 신원, 네트워크 컨텍스트, 디바이스 규정 준수, 위치 및 시간 제약의 조합에 따라 리소스에 대한 액세스 권한을 부여하여 제로 트러스트 보안의 원칙을 실현합니다.
API 엔드포인트 및 메서드의 중요성
보시다시피 API 엔드포인트의 세분성을 통해 세분화된 액세스 제어가 가능합니다. API 엔드포인트는 애플리케이션의 리소스를 반영하므로 정밀한 액세스 관리가 가능합니다. 일부 애플리케이션은 각 리소스에 대해 URL 엔드포인트를 사용하지 않는 대신 HTTP 요청 헤더를 사용하여 액세스 중인 리소스를 표시할 수 있으며, 경우에 따라 리소스 자체가 API JSON 본문의 일부로 명시적으로 언급되기도 합니다. 두 경우 모두 리소스에 대한 인터페이스 역할을 하는 API는 보안에서 중요한 역할을 합니다. 이를 통해 역방향 프록시, API 보안 게이트웨이, SASE/SSE 시스템의 CASB/ZTNA와 같은 중간 보안 엔티티가 HTTP 프로토콜 요소에서 관리 중인 리소스를 추출할 수 있습니다. 그런 다음 이러한 시스템은 컨텍스트별 규칙을 적용하여 해당 HTTP 세션의 추가 진행 허용 여부를 결정합니다. 이 프로세스를 통해 모든 요청이 현재 컨텍스트에 따라 실시간으로 평가되므로 위험을 효과적으로 완화하고 민감한 데이터를 보호할 수 있습니다.
GenAI는 애플리케이션 액세스 방식을 변화시키고 있습니다.
SaaS 및 엔터프라이즈 애플리케이션은 리소스 관리를 위해 자연어 입력을 받아들이도록 진화하고 있습니다. 즉, 자연어 텍스트, 오디오 또는 이미지를 해석하고 처리하여 리소스에 대한 작업을 수행할 수 있는 단일 API 엔드포인트가 필요합니다. 예를 들어, HR 애플리케이션에는 사용자가 자연어로 자신의 의도를 입력할 수 있는 하나의 API 엔드포인트가 있을 수 있습니다. 그러면 애플리케이션이 이 의도를 해석하고 내부적으로 필요한 작업을 실행한 후 결과를 반환합니다. 추가적인 명확성이나 입력이 필요한 경우 시스템에서 사용자에게 추가 정보를 묻는 메시지를 표시할 수 있습니다. 다음은 다양한 연산을 수행하는 방법을 보여주는 자연스러운 프롬프트의 몇 가지 예입니다:
- 자연스러운 프롬프트: “모든 직원 목록 보여줘”
- 자연스러운 프롬프트: “직원 ID 123의 세부 정보를 알려주세요.” 2. 부서 관리
- 자연스러운 프롬프트: “‘마케팅’이라는 새 부서를 추가하세요.”
- 자연스러운 프롬프트: “부서 ID 456의 이름을 ‘Sales’로 업데이트하세요.”
- 자연스러운 프롬프트: “ID 789로 부서 제거” 3. 급여 기록 생성:
- 자연스러운 프롬프트: “직원 ID 123에 대한 급여 기록 만들기”
- 자연스러운 프롬프트: “급여 기록 ID 456을 새 세부 정보로 업데이트하세요.”
- 자연스러운 프롬프트: “ID 789에 대한 급여 기록 보여주세요”
- 자연스러운 프롬프트: “급여 기록 ID 101112 삭제”
이 예는 자연어 프롬프트가 리소스 수준 API를 직접 호출할 필요성을 대체할 수 있음을 보여줍니다.
애플리케이션의 진화
보안 문제에 대해 이야기하기 전에 애플리케이션이 진화하고 있는 몇 가지 방법을 살펴보겠습니다.
자체 GenAI 인터페이스를 갖춘 기존 애플리케이션
자연어 기반 액세스 기능을 갖춘 기존 애플리케이션은 사용자가 소프트웨어와 상호 작용하는 방식을 변화시키고 있습니다. 기존 SaaS 및 엔터프라이즈 애플리케이션은 여전히 기존의 리소스 수준 API 액세스를 제공하지만, 이제 제너레이티브 AI 기반 액세스를 지원하도록 개선되었습니다. 이러한 접근 방식을 통해 사용자는 자연어 프롬프트를 통해 리소스를 관리할 수 있으므로 상호 작용이 더욱 직관적이고 사용자 친화적입니다. 이러한 애플리케이션에는 종종 채팅을 위한 자체 그래픽 사용자 인터페이스(GUI)가 포함되어 있어 대용량 메모리 컨텍스트를 통해 다양한 관련 프롬프트를 연관시킬 수 있습니다. 즉, 소프트웨어가 대화의 흐름을 이해하고 기억하여 사용자 질문에 대해 보다 정확하고 관련성 있는 답변을 제공할 수 있습니다. 이러한 애플리케이션은 자연어 처리를 통합함으로써 복잡한 작업을 간단한 대화형 명령으로 세분화할 수 있습니다. 예를 들어, 사용자가 데이터를 수동으로 입력하거나 복잡한 API 호출을 사용하는 대신 “직원 ID 123에 대한 급여 기록 생성”이라고 말하면 시스템이 요청을 이해하고 원활하게 실행합니다.
기존 애플리케이션은 기존 생성 AI 제공업체의 솔루션으로 보강됩니다.
최근 ChatGPT와 같은 생성형 AI 서비스 제공업체는 함수 호출 및 플러그인과 같은 기능을 통합하여 기존 애플리케이션을 개선하고 있습니다. 이러한 업그레이드를 통해 기존 애플리케이션은 ChatGPT 및 유사한 인터페이스와 원활하게 상호 작용할 수 있습니다. 기본적으로 GenAI 서비스 제공업체는 인터페이스를 통해 사용자 프롬프트를 캡처하고, 기본 의도를 해석하며, RESTful API 호출을 생성 및 실행하거나 백엔드 시스템에 대한 새로운 프롬프트를 통해 이러한 요청을 이행하는 데 적합한 플러그인을 식별합니다. 그런 다음 결과는 자연어로 사용자에게 다시 전달되어 직관적이고 사용자 친화적인 프로세스가 만들어집니다. 예를 들어, 사용자는 작업을 수행하기 위해 여러 인터페이스를 탐색하는 대신 ChatGPT 환경 내에 머물면서 간단한 대화형 인터페이스를 통해 명령을 실행할 수 있습니다. 이미 800개 이상의 플러그인을 지원하고 있는 ChatGPT는 다양한 SaaS 애플리케이션 제공업체가 자사의 서비스를 플러그인으로 등록할 수 있도록 지원합니다. 이러한 통합을 통해 사용자는 이러한 플러그인이 지원하는 작업을 수행하기 위해 탭을 전환하거나 ChatGPT 인터페이스를 떠날 필요가 없습니다.
AI 에이전트 및 에이전트 워크플로
애플리케이션이 계속 진화함에 따라 에이전트 워크플로를 갖춘 AI 에이전트가 또 다른 혁신적 트렌드로 떠오르고 있습니다. 이러한 AI 에이전트는 자율적으로 작동하도록 설계되어 최소한의 개입으로 사용자를 대신하여 작업과 워크플로우를 관리합니다. 이러한 에이전트는 고급 머신러닝 알고리즘과 정교한 AI 모델을 활용하여 다양한 작업을 실행할 수 있으므로 최신 애플리케이션 에코시스템에서 없어서는 안 될 필수 요소입니다. AI 에이전트는 기존 애플리케이션에 원활하게 통합되어 일상적인 작업을 자동화하고 워크플로를 최적화함으로써 그 기능을 향상시킵니다. 예를 들어, 고객 서비스 애플리케이션에서 AI 에이전트는 일반적인 쿼리를 자율적으로 처리하고 요청을 처리하며 필요한 경우 복잡한 문제를 인간 상담원에게 에스컬레이션할 수도 있습니다. 이는 효율성을 향상시킬 뿐만 아니라 일관되고 고품질의 사용자 경험을 보장합니다. 이러한 에이전트는 상호작용을 통해 학습하는 기능을 갖추고 있어 지속적으로 성능을 개선하고 사용자 선호도에 적응할 수 있습니다. 즉, 시간이 지남에 따라 AI 에이전트는 사용자의 요구를 예측하고 능동적으로 작업을 관리하여 운영을 더욱 간소화하고 사용자의 인지 부하를 줄일 수 있습니다. 또한 다양한 시스템 및 애플리케이션과 인터페이스하여 데이터와 작업이 원활하게 흐르는 일관되고 통합된 환경을 조성할 수 있습니다. AI 에이전트의 주요 장점 중 하나는 에이전트 워크플로우라고도 하는 정의된 제약 조건과 목표 내에서 작동할 수 있다는 점입니다. 이를 통해 목표 지향적인 방식으로 작업을 실행하여 사용자가 정의한 우선순위와 조직의 목표에 맞게 작업을 수행할 수 있습니다. 예를 들어 프로젝트 관리 도구의 AI 에이전트는 프로젝트의 목표와 일정에 따라 자율적으로 작업을 할당하고, 진행 상황을 추적하고, 업데이트를 제공할 수 있습니다. AI 에이전트는 다양한 애플리케이션과 서비스 간의 조율과 커뮤니케이션을 지원할 수 있습니다. 자연어 프롬프트를 해석하여 여러 시스템에서 실행 가능한 작업으로 변환하는 중개자 역할을 합니다. AI 에이전트는 추론 모델을 사용하여 사용자 의도에 따라 다양한 작업으로 구성된 계획을 만든 다음 다양한 플러그인 및 애플리케이션과 통신하여 이러한 작업을 실행합니다. 이 기능은 사용자가 여러 도구 및 플랫폼과 상호 작용해야 하는 환경에서 특히 유용합니다.
기존의 제로 트러스트 보안 구현은 부적절합니다.
“제로 트러스트 보안” 섹션에서 설명한 대로 기존의 제로 트러스트 네트워크 보안 구현은 애플리케이션에 대한 모든 액세스가 리소스별 API와 기존 HTTP 동작을 통해 이루어진다고 가정합니다. 기존 CASB 및 ZTNA 솔루션은 이러한 기존 제로 트러스트 보안 구현에 속합니다. GenAI와 자연어 기반 상호 작용의 등장으로 보안 구현은 진화해야 합니다. 기존의 API와 JSON/XML 본문은 자연어 입력과 출력으로 보완되고 있으며, 사용자의 의도와 결과를 파악하기 위해 더 심층적인 분석이 필요합니다. 이제 보안 규칙은 더 이상 특정 API 엔드포인트와 본문 요소에만 의존할 수 없으며, 콘텐츠 및 상황에 맞는 세분화된 액세스 제어를 적용하려면 사용자 의도를 파악하여 개발해야 합니다. 예를 들어 사용자가 ChatGPT 또는 자체 채팅 인터페이스를 통해 급여 애플리케이션과 상호 작용한다고 상상해 보세요. 사용자가 고정된 매개변수를 사용하여 직접 API를 호출하는 대신 “지난 분기의 급여 기록을 보여줘”라고 말할 수 있습니다. 보안 시스템은 이러한 자연어 요청을 해석하고 요청 및 응답이 회사의 보안 정책을 준수하는지 확인해야 합니다. 이를 위해서는 요청의 컨텍스트와 관련된 특정 보안 제약 조건에 대한 미묘한 이해가 필요합니다. 따라서 진화하는 제로 트러스트 보안 모델에는 자연어 입력을 분석하고 이해하는 메커니즘이 포함되어야 하며, 이를 통해 GenAI 시대에 액세스 제어가 강력하고 상황에 맞게 유지될 수 있도록 보장해야 합니다.