figma

속도와 보안을 (새 탭에서 열림)

Figma는 보안을 개발 속도를 늦추는 규정 준수 절차가 아니라, 제품팀이 안전하게 빠르게 배포하도록 돕는 협업 체계로 운영한다. 이를 위해 위험을 체계적으로 평가하고, 보안 지식을 문서화·재사용하며, 비밀번호 없는 강력한 인증과 클라우드 격리 같은 기술적 통제를 활용한다. 핵심은 보안팀이 모든 결정을 직접 통제하기보다 투명성과 신뢰를 바탕으로 각 팀의 보안 역량을 확장하는 것이다.

체계적인 위험 평가

  • 신규 기능과 워크플로를 정기적으로 검토해 잠재적인 보안 위험을 사전에 파악한다.
  • 보안팀은 주 3회 오피스 아워를 열어 제품팀의 질문에 답하고 출시 예정 기능을 논의한다.
  • 오피스 아워 전에 제품팀은 FigJam 파일에서 ThreatJam이라는 세 가지 질문에 답한다.
  • 질문을 통해 다음과 같은 위험을 점검한다.
    • 손상된 외부 공급업체 컴포넌트
    • 잘못 설정된 클라우드 리소스
    • 사용자 입력을 악용한 서버 공격

링크 미리보기 기능의 위협 모델링

FigJam의 리치 링크 미리보기는 사용자가 붙여 넣은 URL에서 아이콘, 설명, 기타 메타데이터를 가져온다. 이 과정에서 다음 공격 가능성이 확인됐다.

  • 내부 Figma 서버 주소를 입력해 내부 리소스를 유출하는 SSRF(Server-Side Request Forgery)
  • Figma 서버를 이용해 외부 사이트에 대량 요청을 보내는 DoS 공격
  • 악성 HTML을 포함한 사이트를 연결해 FigJam을 변조하거나 스크립트를 실행하는 공격

클라우드 함수와 입력 격리

  • URL을 가져오고 파싱하는 코드를 별도의 클라우드 함수에서 실행했다.
  • 클라우드 함수는 별도의 가상 컴퓨터와 네트워크에서 동작하므로, 공격이 Figma의 핵심 인프라로 확산되는 것을 제한한다.
  • 외부 사이트에 대한 요청을 제한하기 위해 다음 통제를 적용했다.
    • 클라우드 함수의 기본 요청 속도 제한 사용
    • 스크랩한 데이터의 보관 기간 제한
    • 표준 HTTP·HTTPS 포트만 허용
  • 악성 HTML 방어를 위해 파싱 가능한 태그를 제한했다.
  • 기존 플러그인·위젯 보안 방식을 재사용해 가져온 메타데이터를 안전하게 표시했다.

분산형이고 재사용 가능한 보안

  • 보안팀이 모든 팀의 의사결정을 대신하기보다, 각 제품팀이 직접 안전한 설계를 선택하도록 지원한다.
  • 특정 프로젝트에만 적용되는 일회성 해결책 대신 다음과 같은 재사용 가능한 자산을 만든다.
    • 보안 라이브러리
    • 프레임워크
    • 위협 모델과 설계 원칙
    • 코드 및 문서 예제
  • 링크 미리보기 프로젝트에서 만든 패턴은 다른 엔지니어링 팀이 유사한 기능을 구현할 때 사례로 재사용했다.
  • 오피스 아워의 논의 내용도 전사에 공개해 다른 팀이 보안팀의 판단 근거와 설계 맥락을 학습하게 한다.
  • 이러한 투명성은 보안을 개발의 장애물이 아니라 제품 개발을 가능하게 하는 요소로 정착시키는 데 목적이 있다.

피싱과 정보 노출 방어

  • 보안팀 규모가 작기 때문에 알려진 공격을 효과적으로 차단하는 기술적 통제에 의존한다.
  • 내부 사이트 접근에는 비밀번호 대신 강력한 2차 인증을 사용한다.
  • 인증 수단은 사용자가 접근하려는 업무 사이트에만 한정되도록 범위를 지정한다.
  • 신규 입사자에게 하드웨어 인증 키를 제공한다.
  • 노트북과 휴대전화에는 Apple Touch ID, Windows Hello 같은 생체 인증 등록을 지원한다.
  • 이를 통해 피싱으로 비밀번호가 탈취되더라도 내부 시스템 전체로 접근이 확산되는 위험을 줄인다.

Figma의 방식은 보안 검토를 개발 과정의 마지막 승인 단계로 두지 않고, 초기 설계부터 제품팀과 함께 위험을 줄이는 협업 모델이다. 실무에서는 ThreatJam 같은 간단한 사전 점검표를 도입하고, 외부 입력을 별도 실행 환경에 격리하며, 검증된 보안 패턴과 문서를 조직 전체에서 재사용하는 접근이 효과적이다.