multi-factor-authentication

6 개의 포스트

discord

Discord 패치 노트: 2026년 6월 4일 (새 탭에서 열림)

Discord의 2026년 6월 4일 패치에는 모바일 통화 실수 방지, 데스크톱 시작 속도 개선, 사용자 설정 개편, 음성 초대 임베드 개선이 포함됐다. 특히 데스크톱 앱의 p50 시작 시간이 약 8%(약 650ms) 단축됐으며, 여러 플랫폼에서 접근성·레이아웃·검색·초대 흐름과 관련된 버그가 수정됐다. 모든 수정 사항은 코드에 반영됐지만 플랫폼별 배포는 진행 중일 수 있다. ## 통화 실수 방지와 음성 초대 개선 - 모바일 DM에서 통화 버튼을 누르면 바로 통화가 시작되지 않고 확인 단계가 표시된다. - 새 음성 초대 임베드는 다음 정보를 명확히 보여준다. - 초대 대상 서버와 채널 - 현재 채널의 사용자 수 - 사용자 이름에 마우스를 올렸을 때 움직이는 아바타 - 음성 채널 초대의 맥락과 참여자 정보를 더 쉽게 파악할 수 있도록 시각적 표현이 개선됐다. ## 데스크톱 성능과 설정 화면 개편 - 최근 몇 주 동안 데스크톱 앱의 p50 시작 시간이 약 8%, 약 650ms 개선됐다. - 추가적인 시작 속도 개선 작업도 계속 진행될 예정이다. - 사용자 설정의 Account 페이지가 새 디자인 체계에 맞게 개편됐다. - 다음 항목은 Account 카테고리 내부의 중첩 페이지로 정리됐다. - Devices - Family Center - Account Standing - Multi-Factor Authentication - 설정 페이지 간 시각적 일관성과 탐색 구조가 개선됐다. ## 초대·가입·이벤트 흐름 수정 - 게스트 초대로 서버에 들어갈 때 온보딩이나 “Apply to Join” 화면에 멈추던 데스크톱 문제가 해결됐다. - 초대 링크를 클릭했을 때 최대화된 창이 갑자기 복원되는 문제가 수정됐다. - Server Discovery에서 초대가 비활성화된 서버에 가입할 수 없을 때 아무 반응이 없던 문제가 해결됐다. - 이제 가입 실패 이유를 토스트 메시지로 안내한다. - iOS에서 이벤트 설명의 외부 Markdown 링크를 눌러도 이벤트 상세 시트가 남아 있던 문제가 수정됐다. - 이벤트 설명에서 사용자 멘션을 누르면 DM이 아니라 해당 사용자의 프로필이 열리도록 변경됐다. - 이벤트 공유 후 이벤트 시트가 시스템 공유 메뉴 위에 남아 있던 문제가 해결됐다. - 초대 권한이 없고 vanity URL만 있는 서버에서 iOS가 “Missing Permissions”를 표시하던 문제가 수정됐다. - 이제 데스크톱과 마찬가지로 vanity URL을 대체 경로로 사용한다. ## 검색·상태·메시지 표시 버그 수정 - Android에서 `has:forward` 검색 필터와 Media, Links, Files 같은 하위 탭을 함께 사용할 때 결과가 비거나 부정확해지는 문제가 해결됐다. - Android에서 긴 사용자 지정 상태가 삭제 버튼과 지나치게 붙던 레이아웃 문제가 수정됐다. - 모바일 Set Status 화면에서 뒤로 가기 버튼이 작동하지 않던 문제가 해결됐다. - 데스크톱의 여러 줄 `@time` 표시가 아래 텍스트와 겹치던 문제가 수정됐다. - iOS에서 글자의 하강부(descender)가 메시지 알림과 검색 결과에서 잘리던 문제가 해결됐다. - iOS에서 사용자 프로필의 서식 있는 텍스트가 일반 텍스트보다 작게 표시되던 문제가 수정됐다. - 데스크톱 커뮤니티 공지의 텍스트가 겹쳐 읽기 어려웠던 문제가 해결됐다. - 알림이 비활성화된 Unread inbox 구분선이 라벨 텍스트를 관통하던 문제가 수정됐다. ## iOS·Android UI 및 테마 개선 - iOS의 QR 코드 로그인 모달이 필요 이상으로 전체 화면을 차지하던 문제가 수정됐다. - 사용자 지정 테마에서 키보드를 열 때 배경이 잠시 기본 색상으로 깜빡이던 문제가 해결됐다. - 친구 목록의 고정 알파벳 헤더가 클라이언트 테마 색상으로 잘못 표시되던 문제가 수정됐다. - 알림 탭의 북마크 버튼이 시스템 글꼴 크기에 맞춰 확대되지 않던 문제가 해결됐다. - 설정 검색 결과의 마지막 행에서 둥근 모서리가 사라지던 문제가 수정됐다. - 서버 초대 메뉴의 모서리가 다른 UI와 달리 각지게 표시되던 문제가 해결됐다. - 서버 프로필 사진을 업로드할 때 이미지 선택기 위에 기존 아바타 업로드 요소가 남아 있던 문제가 수정됐다. - Wumpus가 사라졌던 iOS 친구 요청 빈 화면이 복구됐다. ## 접근성·입력·반응형 레이아웃 수정 - 데스크톱에서 “Paste as Plain Text”에 실제로 구현되지 않은 키보드 단축키 안내가 표시되던 문제가 제거됐다. - 비활성화된 게임 오버레이 설문에서 Tab 키로 사유 선택 항목에 접근할 수 없던 문제가 수정됐다. - 보이지 않는 서버 툴팁 내부 아이콘이 Tab 탐색 대상이 되던 문제가 해결됐다. - 초대받은 서버 모달에서 매우 긴 닉네임 때문에 UI 요소가 잘리던 문제가 수정됐다. - 높은 확대 비율에서 이벤트 상세 모달의 정보 영역이 지나치게 압축되던 문제가 해결됐다. - 작은 창과 높은 확대 설정에서 Shop 필터 패널이 화면보다 커져 “Clear Filters” 버튼을 누를 수 없던 문제가 수정됐다. - Join Game Server 안내 모달에 불필요한 스크롤바가 나타나던 문제가 제거됐다. - Student Hubs의 Add Servers 팝업에 불필요한 가로 스크롤바가 표시되던 문제가 해결됐다. ## 기타 상호작용 및 시각적 일관성 - Bluesky 연결 모달에서 핸들이 비어 있어도 Enter 키로 제출되던 문제가 수정됐다. - Nitro 결제 모달의 Nameplate 이미지에 실제 확대 기능이 없는데도 확대 커서가 표시되던 문제가 해결됐다. - 언급된 역할을 클릭할 때 역할 팝업과 채널 주제 상세 메뉴가 동시에 열리던 문제가 수정됐다. - Streamer Mode에서 Nitro 탭 헤더만 다른 탭보다 어둡게 보이던 문제가 해결됐다. - iOS Invite to Server 메뉴 요소의 모서리가 둥글게 표시되도록 통일됐다. - 데스크톱 창의 다양한 모달과 탭에서 잘못된 크기, 색상, 포커스, 스크롤 동작이 정리됐다. 이번 패치는 대형 기능 추가보다는 앱 시작 성능과 설정 구조를 개선하고, 모바일 실수 방지와 접근성·반응형 UI 문제를 폭넓게 다듬은 업데이트다. 사용자는 모바일 통화 버튼의 확인 단계와 개편된 Account 설정을 먼저 확인하면 되며, 특정 수정 사항이 보이지 않는다면 플랫폼별 순차 배포가 완료될 때까지 기다릴 필요가 있다.

discord

다단계 인증으로 디스코드 계정을 안전하게 보호하는 방법 (새 탭에서 열림)

Discord 계정 보안을 강화하려면 비밀번호만 사용하는 대신 다중 인증(MFA)을 활성화해야 한다는 글이다. 가장 권장되는 방식은 패스키이며, 패스키를 사용할 수 없다면 인증 앱을 대안으로 제시한다. 로그인 인증 이메일도 기본 보안 수단이지만, MFA를 활성화하면 해당 이메일 인증은 비활성화된다. ## 로그인 인증 이메일 - 이메일 주소를 인증한 Discord 계정은 새로운 기기나 위치에서 로그인할 때 확인 이메일을 받는다. - 이메일의 **“Verify Login”** 버튼을 눌러야 로그인이 완료된다. - 단, 이메일 계정과 Discord 계정에 같은 비밀번호를 사용하면 이메일이 탈취될 경우 보안 효과가 크게 떨어진다. - 모든 서비스에서 서로 다른 비밀번호를 사용해야 한다. ## 다중 인증(MFA)의 개념 - 비밀번호만 사용하는 로그인은 하나의 보안 장벽에만 의존하는 방식이다. - MFA는 비밀번호 외에 하나 이상의 인증 요소를 추가해 계정 탈취를 어렵게 만든다. - 인증 요소는 다음 세 가지로 나뉜다. - **알고 있는 것**: 비밀번호나 비밀 문구 - **가지고 있는 것**: 스마트폰, 컴퓨터, 보안 키 등 - **본인 자체**: 지문이나 얼굴 인식 같은 생체 정보 - 비밀번호는 유출·추측·재사용 공격에 노출될 수 있으므로 MFA 사용이 강력히 권장된다. - MFA를 활성화하면 로그인 인증 이메일 기능은 비활성화된다. ## 가장 권장되는 방식: 패스키 - 패스키는 피싱에 강하고 추측하기 어려운 최신 인증 방식이다. - 사용자의 기기와 Discord 사이에서 암호학적 인증을 수행하며, 기기의 지문·얼굴 인식·PIN으로 잠금을 해제한다. - 생체 정보 자체가 Discord로 전송되는 것이 아니라, 로그인 승인을 위한 암호화 키만 사용된다. - 기기에 연결된 인증 수단이므로 **“가지고 있는 것”**에 해당하며, 생체 인증을 사용하면 **“본인 자체”** 요소도 추가된다. - 계정 하나에 최대 16개의 패스키를 등록할 수 있다. - Android·iOS·웹 브라우저·하드웨어 보안 키·비밀번호 관리자 등에 여러 패스키를 등록할 수 있다. - 1Password나 Bitwarden 같은 자격 증명 관리자에 예비 패스키를 보관하는 것이 권장된다. ## 인증 앱과 일회용 코드 - 인증 앱은 시간 기반 일회용 비밀번호(TOTP)를 생성한다. - Discord와 인증 앱이 공유한 초기 값을 바탕으로 약 30초마다 새로운 PIN을 만든다. - Discord에서도 같은 코드를 생성해 일치 여부를 확인한다. - 이전 코드도 함께 확인하므로 실제 로그인에는 약 1분의 여유가 있다. - Authy, Microsoft Authenticator, Google Authenticator 등을 사용할 수 있다. - 인증 앱을 설정한 뒤에는 반드시 백업 코드를 저장해야 한다. - 인증 앱이나 기기를 잃어버렸을 때 백업 코드로 로그인할 수 있다. - 백업 코드는 비밀번호 관리자처럼 안전하고 잃어버리지 않을 장소에 보관해야 한다. - 백업 코드가 유출되거나 분실되었다면 **My Account > View Backup Codes > Generate New Backup Codes**에서 새로 생성할 수 있다. ## 계정 보안을 위한 권장 사항 - 가능한 경우 패스키를 하나 이상 등록한다. - 패스키를 사용할 수 없다면 인증 앱 기반 MFA를 활성화한다. - 모든 온라인 계정에 고유한 비밀번호를 사용한다. - 인증 앱을 사용할 경우 백업 코드를 미리 안전하게 보관한다. - 계정 복구 수단은 주 기기와 별도의 안전한 장소에도 준비해 두는 것이 좋다.

cloudflare

레거시 아키텍처에서 Cloudflare One으로의 전환 (새 탭에서 열림)

전통적인 VPN 중심의 레거시 아키텍처에서 제로 트러스트(Zero Trust) 및 SASE 아키텍처로 전환하는 과정은 '빅뱅' 방식의 일괄 마이그레이션이 수반하는 가동 중단 위험 때문에 많은 기업에 큰 부담이 됩니다. Cloudflare와 CDW는 이러한 위험을 줄이기 위해 모든 애플리케이션을 복잡도에 따라 계층화하고, 레거시 앱을 현대적인 보안 계층으로 감싸는 단계적 방법론을 제시합니다. 결과적으로 기업은 서비스 중단 없이 보안 부채를 해결하고, 신원 및 기기 상태 기반의 정교한 보안 태세를 구축할 수 있습니다. ### 단계별 방법론을 통한 마이그레이션 함정 회피 단순히 네트워크 연결 방식만 바꾸는 '리프트 앤 시프트(Lift and Shift)' 방식은 복잡한 애플리케이션 간의 상호 의존성을 간과하여 대규모 장애를 초래할 수 있습니다. * **리스크 기반 계층화:** 모든 애플리케이션을 기술적 복잡도에 따라 분류하고, 현대적인 앱부터 우선 이동하여 동력을 확보한 뒤 복잡한 레거시 시스템을 나중에 제어된 환경에서 전환합니다. * **실패 사례 분석:** 500개 이상의 앱을 한꺼번에 이전하려다 서비스 중단을 겪은 공공 부문 사례를 교훈 삼아, 마이그레이션을 단순 연결 교체가 아닌 '애플리케이션 현대화 프로젝트'로 취급합니다. * **보안 내재화:** 마이그레이션 전략 수립 단계부터 보안 요구사항을 기초 아키텍처에 포함하여, 사후에 보안을 덧붙이는 방식에서 벗어납니다. ### Cloudflare Access와 Tunnel을 활용한 레거시 현대화 레거시 애플리케이션의 코드를 수정하지 않고도 Cloudflare Access를 통해 제로 트러스트 모델을 적용하여 보안 수준을 높일 수 있습니다. * **VPN 경계 대체:** 특정 네트워크 세그먼트 전체에 권한을 주는 VPN 대신, 신원과 기기 상태를 기반으로 모든 개별 요청을 평가하는 모델로 전환합니다. * **Cloudflare Tunnel 활용:** 외부 노출 없이 내부에서 외부로 나가는(Outbound-only) 연결을 생성하여, 레거시 앱에 공인 IP 주소를 부여하지 않고도 안전하게 외부에 노출할 수 있습니다. * **보안 래핑(Wrapping):** 자체 MFA(다요소 인증) 기능이 없는 구형 앱에 SSO 및 하드웨어 기반 MFA를 강제 적용하며, 데이터가 서버에 도달하기 전 엣지(Edge) 단에서 보안 정책을 검증합니다. ### 마이그레이션 전 아키텍처 감사 및 준비 사항 안정적인 전환을 위해 IT 리더는 파일럿 프로젝트 이전에 환경의 기술적 호환성을 철저히 점검해야 합니다. * **ID 제공업체 및 종속성 맵핑:** Okta와 같은 페더레이션 ID 제공업체 활용 여부를 확인하고, 백엔드 데이터베이스나 API 호출 관계를 문서화하여 서비스 단절을 방지합니다. * **전략과 실행 그룹의 분리(Firebreak):** 보안 표준을 설정하는 전략 그룹과 효율성을 중시하는 실행 그룹을 분리하여, 배포 속도 때문에 보안 요건이 무시되지 않도록 합니다. * **세션 지속성 테스트:** 셀룰러 타워 전환 시에도 세션이 유지되어야 하는 앱을 식별하고, Cloudflare의 PMTUD(Dynamic Path MTU Discovery) 기술을 통해 안정적인 연결을 보장합니다. ### 애플리케이션 유형별 마이그레이션 전략 전환에 소요되는 시간과 노력을 기준으로 애플리케이션을 세 가지 티어로 분류하여 현실적인 일정을 수립합니다. * **Tier 0 (SaaS):** 현대적인 인증 프로토콜을 지원하는 앱으로, 클라이언트리스 프록시를 통해 1~3시간 내외로 빠르게 전환 가능합니다. * **Tier 1 (내부 웹 앱):** 현대적 웹 프로토콜을 사용하는 내부 앱으로, Cloudflare Tunnel을 활용해 3~6시간 정도 소요됩니다. * **Tier 2 (비 웹 및 Thick-Client):** 특정 포트나 프로토콜 지원이 필요한 앱으로, Cloudflare One Client와 Tunnel을 병행 배포해야 하며 앱당 4~8시간이 소요됩니다. 성공적인 제로 트러스트 전환을 위해서는 속도보다 **'가시성'과 '단계적 접근'**이 중요합니다. 레거시 시스템을 한꺼번에 교체하려 하기보다, Cloudflare의 엣지 보안 계층으로 기존 앱을 보호하면서 점진적으로 현대화해 나가는 것이 운영 안정성을 확보하는 최선의 방법입니다.

cloudflare

부팅부터 로그인까지 빈틈없는 (새 탭에서 열림)

Cloudflare는 원격 접속 보안의 사각지대를 제거하기 위해 '필수 인증(Mandatory Authentication)'과 '자체 다중 인증(MFA)'이라는 두 가지 새로운 도구를 출시했습니다. 이 기능들은 기기 부팅 시점부터 로그인까지 발생하는 보안 공백을 메워주며, 기존 신뢰 엔진의 한계를 보완하여 지속적인 보안 가동 상태를 유지합니다. 이를 통해 기업은 사용자 편의성을 저해하지 않으면서도 보안 사고 발생 시 피해 범위를 최소화하는 제로 트러스트 환경을 구축할 수 있습니다. ### 설치와 인증 사이의 보안 공백 해소 Cloudflare One Client가 MDM을 통해 설치되었더라도 사용자가 아직 인증하지 않았거나 세션이 만료된 경우, 기기는 가시성 밖의 '어두운 모퉁이'에 놓이게 됩니다. '필수 인증' 기능은 이러한 위험을 다음과 같이 해결합니다. * **기본 인터넷 차단:** 사용자가 활발하게 인증되지 않은 상태에서는 시스템 방화벽을 사용하여 기본적으로 모든 인터넷 트래픽을 차단합니다. * **인증 전용 예외 허용:** 기기 클라이언트의 인증 흐름에 필요한 특정 프로세스 트래픽만을 예외적으로 허용하여 인증을 유도합니다. * **사용자 가이드 제공:** 사용자가 인증 버튼을 직접 찾아 헤매지 않도록 인증 프로세스를 안내하는 프롬프트를 노출합니다. * **플랫폼 지원:** 해당 기능은 Windows용 Cloudflare One 클라이언트에서 우선 지원되며, 향후 다른 플랫폼으로 확대될 예정입니다. ### IdP 의존성을 탈피한 독자적 다중 인증 Okta나 Entra ID 같은 단일 인증(SSO) 서비스는 공격자의 주요 타겟이며, 세션 하이재킹 등에 취약할 수 있습니다. Cloudflare의 독립적 MFA는 네트워크 에지에서 작동하는 '단계별(Step-up) MFA' 역할을 수행합니다. * **이중 신뢰 구조:** 기본 IdP 자격 증명이 침해되더라도 Cloudflare가 관리하는 별도의 인증 계층을 통과해야 하므로 중요 자산에 대한 접근을 효과적으로 방어합니다. * **다양한 인증 수단:** 생체 인식(Windows Hello, Apple Touch ID/Face ID), 보안 키(WebAuthn, FIDO2), 인증 앱을 통한 TOTP 등 현대적인 인증 방식을 모두 지원합니다. * **세밀한 정책 제어:** 채팅 앱은 낮은 수준의 MFA를 허용하고 소스 코드 저장소는 물리 보안 키를 요구하는 등 애플리케이션별로 차등화된 정책을 적용할 수 있습니다. * **레거시 및 외부 협력자 관리:** MFA를 지원하지 않는 오래된 앱에 인증 계층을 추가하거나, 개인 이메일을 사용하는 외부 계약자에게도 강력한 인증을 강제할 수 있습니다. ### 실용적인 권장 사항 기업 보안 책임자는 '필수 인증'을 통해 관리형 기기가 항상 정책의 통제하에 있도록 설정하고, 민감한 내부 데이터베이스나 인프라 접근에는 Cloudflare의 독립적 MFA를 추가로 적용하는 것이 좋습니다. 이러한 방식은 단일 패스워드 유출이 전체 침해로 이어지는 것을 방지하며, 관리자에게는 정책 이행에 대한 확실성을, 사용자에게는 자동화된 보안 경험을 제공합니다.

gitlab

패스키를 통한 비밀번호 없는 로그인 및 2단계 인증이 GitLab에서 사용할 수 있습니다 (새 탭에서 열림)

GitLab이 계정 보안 강화와 사용자 편의성 증대를 위해 패스키(Passkeys) 지원을 공식적으로 시작했습니다. 이제 사용자들은 지문, 얼굴 인식 또는 PIN을 사용하여 비밀번호 없이 로그인하거나, 피싱 방지 기능이 탑재된 강력한 이중 인증(2FA) 수단으로 패스키를 활용할 수 있습니다. 이번 업데이트는 보안 환경을 개선하고 다중 인증(MFA) 사용률을 높이려는 GitLab의 '보안 설계(Secure by Design)' 서약 이행의 일환입니다. **패스키의 기술적 원리와 보안성** * 패스키는 WebAuthn 기술과 공개키 암호화(Public-key cryptography) 방식을 기반으로 작동합니다. * 개인키(Private Key)는 사용자의 기기에 안전하게 보관되어 절대 외부로 유출되지 않으며, GitLab 서버에는 공개키(Public Key)만 저장됩니다. * 이러한 구조 덕분에 설령 GitLab 서버가 침해당하더라도 공격자가 사용자의 계정에 접근할 수 있는 유효한 인증 정보를 탈취하는 것이 근본적으로 불가능합니다. **광범위한 호환성 및 설정 방법** * 데스크톱 브라우저(Chrome, Firefox, Safari, Edge)는 물론 모바일 기기(iOS 16+, Android 9+), FIDO2 하드웨어 보안 키를 모두 지원합니다. * 사용자는 자신의 프로필 설정 내 'Account > Manage authentication' 메뉴에서 패스키를 간단히 등록할 수 있습니다. * 여러 기기에서 편리하게 접속할 수 있도록 계정 하나에 다수의 패스키를 등록하여 사용하는 것이 가능합니다. **보안 설계(Secure by Design) 서약 준수** * GitLab은 CISA(미국 사이버보안 및 인프라 보안국)의 'Secure by Design' 서약에 동참하여 제품 전반의 보안 수준을 높이고 있습니다. * 패스키는 해당 서약의 핵심 목표 중 하나인 다중 인증(MFA) 채택률 확대를 달성하기 위한 핵심 요소입니다. * 기존에 2FA를 활성화한 사용자의 경우 패스키를 등록하면 해당 방식이 기본 인증 수단으로 자동 설정되어 더욱 매끄러운 로그인 경험을 제공합니다. 보안 사고의 상당수가 피싱을 통한 계정 탈취에서 시작되는 만큼, GitLab 사용자는 보안 수준을 높이기 위해 기존의 일회용 비밀번호(OTP) 방식을 대체하거나 보완할 수 있는 패스키를 적극적으로 등록해 사용할 것을 권장합니다.

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` 같은 간단한 사전 점검표를 도입하고, 외부 입력을 별도 실행 환경에 격리하며, 검증된 보안 패턴과 문서를 조직 전체에서 재사용하는 접근이 효과적이다.