역할 기반 보안 분석으로 소프트웨어 팩토리 보호

역할 기반 보안 분석으로 소프트웨어 팩토리 보호
안내: 본 포스트의 한글 요약 및 분석 리포트는 AI 기술을 통해 자동 생성되었습니다. 정보의 정확성을 위해 하단의 [원본 논문 뷰어] 또는 ArXiv 원문을 반드시 참조하시기 바랍니다.

초록

본 논문은 대규모 OutSystems 기반 소프트웨어 팩토리의 역할 기반 접근 제어(RBAC) 정책을 정적 분석하여 정책 위반을 자동으로 탐지하는 기법을 제시한다. 정책을 그래프 형태로 합성하고, 콜 그래프와 제어 흐름 그래프(CFG)를 결합해 모든 실행 경로를 검증한다. 프로토타입 도구는 실제 대형 팩토리에서 다수의 심각한 보안 결함을 발견했으며, 보고서 기반으로 개발자가 위험을 우선순위화하도록 지원한다.

상세 분석

이 연구는 소프트웨어 팩토리라는 복합 애플리케이션 집합에 적용 가능한 정적 보안 분석 프레임워크를 설계한다. 핵심 아이디어는 사용자가 정의한 역할 기반 보안 정책을 입력으로 받아, 해당 정책에 따라 리소스(예: 데이터베이스 엔터티)와 접근 가능한 역할을 매핑한 정책 모델을 만든 뒤, 이를 기반으로 팩토리 전체를 추상화한 콜 그래프(call graph)를 생성하는 것이다. 콜 그래프는 각 엔트리 포인트(스크린, REST 엔드포인트 등)와 그에 연결된 서브루틴, 그리고 RBAC 원시 함수(GrantRole, RevokeRole, CheckRole)를 포함한다.

분석은 세 단계로 진행된다. 첫 번째 단계에서는 콜 그래프만을 이용해 정책 위반 가능성이 있는 경로, 즉 “정책에 정의되지 않은 역할이 접근 가능한 리소스”를 탐색한다. 이때 깊이 우선 탐색(DFS)으로 모든 경로를 열거하고, 잠재적 위반점(potential breach)을 후보로 수집한다. 두 번째 단계에서는 각 후보 경로에 대해 해당 서브루틴의 제어 흐름 그래프(CFG)를 삽입해 그래프를 확장한다. 이렇게 하면 역할 검증(CheckRole)과 같은 조건문이 실제 실행 흐름에 어떻게 영향을 미치는지 파악할 수 있다.

세 번째 단계는 확장된 그래프에서 실제 위반을 판정하는 과정이다. 여기서는 실행 상태(state)를 추적한다. 상태는 현재 사용자가 보유한 역할 집합과 엔트리 포인트에서 허용된 역할 집합을 포함한다. 각 CFG 노드를 순회하면서 GrantRole/ RevokeRole에 의해 역할 집합을 업데이트하고, CheckRole 조건에 따라 분기별 상태를 복제한다. 최종적으로 리소스에 도달했을 때 사용자가 정책에 명시된 읽기·쓰기 역할을 갖추지 못했으면 위반으로 기록한다.

특히, 이 방법은 “거짓 양성”을 최소화한다. 단순 콜 그래프만으로는 CheckRole이 실제로 실행되는지 알 수 없지만, CFG와 상태 전파를 결합함으로써 조건문에 의해 차단된 경로는 자동으로 배제한다. 알고리즘은 중복 경로를 탐색하지 않도록 메모이제이션을 적용해 효율성을 확보한다.

구현 측면에서는 OutSystems 플랫폼을 목표로 삼았다. OutSystems는 스크린, REST, SOAP 등 다양한 엔트리 포인트와 RBAC 원시 함수를 제공한다. 도구는 이러한 메타데이터를 추출해 정책 모델과 그래프를 자동 생성한다. 사용자는 웹 UI를 통해 엔터티와 역할을 매핑한 정책을 정의하고, 분석을 실행한다. 결과는 엔트리 포인트별 위반 리스트, 해당 위반에 이르는 콜 그래프와 CFG, 그리고 역할 변화 흐름을 시각화한 보고서 형태로 제공된다.

실험에서는 세 개의 팩토리를 대상으로 평가했다. 첫 번째는 인위적으로 결함을 삽입한 작은 모크업 팩토리이며, 두 번째는 중간 규모(≈30 모듈, 200 엔터티, 35 역할)인 고객 A 팩토리, 마지막은 대형(≈700 모듈, 2500 엔터티, 수천 스크린)인 고객 B 팩토리다. 모크업에서는 모든 삽입 결함을 0%의 거짓 양·음으로 정확히 탐지했으며, 실제 팩토리에서는 다수의 심각한 정보 유출 위험을 발견했다. 특히, 역할이 부적절하게 할당된 스크린이 민감 엔터티에 직접 접근하거나, CheckRole 검사가 누락된 경로가 존재함을 확인했다.

이 논문의 기여는 다음과 같다. (1) 대규모 소프트웨어 팩토리 전체를 포괄하는 정적 RBAC 위반 탐지 기법을 제안하고, 콜 그래프와 CFG를 결합한 두 단계 분석 흐름을 설계하였다. (2) 역할 검증 로직을 정밀히 모델링해 거짓 양성을 크게 감소시켰다. (3) OutSystems와 같은 로우코드 플랫폼에 특화된 자동화 도구를 구현해 실무 적용 가능성을 입증했다. (4) 실제 대형 팩토리에서 발견된 보안 결함을 통해 정책 설계와 구현 단계에서의 검증 필요성을 강조한다.


댓글 및 학술 토론

Loading comments...

의견 남기기