브라우저 보안을 위한 비용‑편익 분석과 선택적 API 차단
초록
본 논문은 74개의 웹 API 표준을 대상으로, 각 기능의 보안 비용(취약점·코드 규모·학술 공격)과 사용자 이득(필수 사이트 수)을 정량화한다. 비용이 높고 이득이 낮은 기능을 차단하는 브라우저 확장(ES6 Proxy 기반)을 구현해 15개 표준을 차단했을 때, CVE 관련 코드 경로 52 %와 구현 코드 50 %를 제거하면서도 94.7 % 사이트의 기능을 유지함을 실증한다.
상세 분석
이 연구는 웹 브라우저가 제공하는 방대한 API 집합을 ‘보안 비용’과 ‘사용자 편익’이라는 두 축으로 평가하는 새로운 프레임워크를 제시한다. 비용 측정은 세 가지 관점을 결합한다. 첫째, 기존 CVE 데이터베이스에 보고된 취약점 수를 기능별로 집계해 해당 기능이 과거에 얼마나 자주 악용됐는지를 파악한다. 둘째, 학술 논문에서 보고된 공격 사례를 메타데이터와 매핑해, 특정 API가 공격 표면을 얼마나 확대했는지를 정량화한다. 셋째, Firefox 소스코드에 대한 정적 분석을 수행해 각 표준을 구현하는 순수 C++ 라인 수를 추출함으로써 코드 복잡도와 유지보수 부담을 비용 요소로 포함한다. 이러한 다차원 비용 모델은 기능별 위험도를 객관적으로 비교할 수 있게 한다.
편익 측정은 ‘필수 사이트 수’라는 직관적인 지표를 사용한다. 연구팀은 500시간 이상의 인간 실험을 통해 1,684개의 테스트 케이스를 수행했으며, 두 명의 평가자가 동일한 기준으로 기능 차단 전후 사이트 동작을 검증해 97 %의 높은 일치도를 얻었다. 이를 통해 각 API가 실제 웹 서비스에서 얼마나 필수적인지를 정량화하고, 비용 대비 효용이 낮은 기능을 식별한다.
차단 메커니즘은 ES6 Proxy 객체를 활용한다. Proxy는 모든 프로퍼티 접근, 함수 호출, 배열 인덱싱 등을 가로채어, 차단된 기능에 대해 ‘빈 함수’ 혹은 ‘0·빈 문자열·undefined’와 같은 안전한 대체값을 반환한다. 이렇게 하면 기존 스크립트가 기대하는 객체 구조가 유지되면서도 실제 브라우저 기능 호출을 억제한다. 기존 NoScript와 달리 전면적인 스크립트 차단이 아니라 세밀한 API 수준의 차단을 제공하므로, 사용자 경험을 크게 해치지 않는다.
실험 결과, 74개 표준 중 보안 비용이 높은 15개(예: Vibration, Ambient Light Sensor, Battery API 등)를 차단했을 때, 전체 CVE 관련 코드 경로의 52 %와 구현 코드의 50 %를 제거하였다. 동시에 Alexa 상위 200개 사이트와 무작위 샘플 10 k 사이트 중 94.7 %에서 기능적 결함이 관찰되지 않았다. 이는 ‘최소 권한 원칙’을 적용했을 때 실질적인 보안 향상이 가능함을 입증한다. 또한, 제안된 확장은 사용자가 정책을 자유롭게 정의·조정할 수 있어, 새로운 API가 등장하거나 위험도가 변동될 경우 즉시 대응할 수 있다.
이 논문은 브라우저 보안 설계에 비용‑편익 분석을 도입함으로써, 무분별한 기능 추가가 초래하는 공격 표면 확대를 체계적으로 억제할 수 있음을 보여준다. 향후 연구에서는 모바일 브라우저, 다중 사용자 환경, 그리고 동적 학습 기반 정책 자동화 등을 확장 영역으로 제시한다.
댓글 및 학술 토론
Loading comments...
의견 남기기