flex 플랫폼 보안
이 섹션에서는 flex가 플랫폼을 보호하기 위해 구현한 보안 환경을 소개합니다.
flex의 암호화 아키텍쳐 및 다계층 보안 모델
flex는 다음과 같이 암호화 아키텍처를 사용해 저장 데이터와 전송 데이터를 보호합니다.
flex 암호화 아키텍처 보안 모델
아키텍처는 다음과 같이 다계층 암호화를 제공합니다.
통신 구간 암호화
flex는 강력한 암호화 알고리즘 및 키(2048비트 RSA)와 함께 HTTPS를 사용해 서비스와 사용자 간 통신을 암호화합니다. 암호화와 관련된 취약한 알고리즘은 주기적으로 확인하여 제거하며 투명하게 암호화 상태를 공개하고 있습니다.
테넌트의 저장 데이터
flex는 테넌트가 데이터베이스에 저장하는 기밀 데이터를 암호화합니다. 암호화는 테넌트별 전용 키와 함께 대칭 암호화 256비트 AES를 사용해 수행됩니다.
테넌트 암호화 키
테넌트 전용키는 KMS (Key Management System) 를 통해 암호화됩니다. 키스토어에 액세스하려면 테넌트 전용 마스터 키가 필요합니다. 단일 테넌트에 보안 침해가 발생하면 이 고유한 테넌트 키스토어가 피해를 완화합니다.
암호화 키 접근로그
KMS에 대한 액세스는 최소한의 서비스 및 사용자로 엄격히 통제되며, 모든 액세스는 수정하거나 삭제할 수 없는 (Immutable) 방식의 로그로 저장되고 추적 됩니다. 또한 키에 대한 엑세스는 즉시 보안팀 관제센터로 전달됩니다.
테넌트 데이터 보안
flex는 암호화 아키텍처 외에도 다음의 보안 환경을 구현하여 고객의 데이터를 보호합니다.
테넌트 데이터 격리
논리적인 데이터 격리는, 데이터 저장의 경우 대칭형 암호화를 통해, 데이터 전송의 경우 비대칭 암호화를 통해, 그리고 키 스토리지의 경우 데이터베이스 및 KMS 격리를 통해 적용됩니다.
기밀 데이터 암호화
flex 는 개인정보보호위원회와 한국인터넷진흥원이 발간한 [개인정보의 암호화 조치 안내서] (링크)에 따라 암호화 방식을 적용하여 법률적 준거성을 확보하고 있습니다.
비밀번호 암호화
flex는 사용자 비밀번호를 안전하게 보호하기 위해 특별한 보안 환경을 적용합니다. 사용자는 다음 중 한 가지 방법을 통해 비밀번호로 인증하여 flex에 액세스할 수 있습니다.
로컬 flex 비밀번호
SSO(Single Sign On)
사용자가 flex 비밀번호로 인증하여 flex에 액세스할 경우, 자격 증명은 flex 클라우드에 저장됩니다. flex는 라운드 수를 높여 솔트 값이 지정된 bcrypt 알고리즘을 사용해 flex 비밀번호를 안전하게 저장합니다. 속도를 고려하여 설계되어 레인보우 테이블 또는 무차별 대입 공격에 민감한 다른 해싱 알고리즘과는 달리, bcrypt는 속도가 매우 느린 적응형 함수입니다. 즉, 컴퓨팅 파워가 증가할 경우 해시 함수가 성능을 떨어뜨려 속도가 더 느려지게 만듭니다.
많이 사용되는 해싱 알고리즘의 암호 강도
사용자가 Google SSO를 사용하여 flex에 액세스할 경우 자격 증명은 Google 디렉토리에 저장됩니다. 이러한 인증 모델을 위임 인증이라고 합니다. 위임 인증에서는 사용자가 flex 로그인 페이지에서 Google login 과 연동되고, flex는 인증을 위임하여 검증합니다. 위임 인증을 구성하면 flex 비밀번호 정책이 아닌 Google의 비밀번호 정책이 적용됩니다.
테넌트 성능 격리
flex는 테넌트 ���능 문제를 효과적으로 격리할 수 있도록 API limit rate를 적용하고 있습니다. 각 테넌트 마다 대부분 고객이 사용량에 만족할 수 있도록 API 호출 속도가 제한되어 있습니다. API 제한은 1분마다 리셋됩니다. 테넌트가 API 제한에 도달할 때마다 flex는 'API 요청 기준 초과 ' 오류 메시지를 반환합니다. flex는 API 엔드포인트 마다 API 제한을 다르게 적용하고 있습니다. 따라서, 각각의 API에서 API 제한에 도달하더라도 다른 서비스 기능에 영향을 미치지 않습니다.
또한, 고객사 상황에 따라 마이그레이션 등 API 제한을 일시적으로 올려야 할 경우에는 flex 지원팀에 요청하시면 됩니다.
웹 애플리케이션 보안 환경
flex는 다음과 같이 전체 소프트웨어 라이프사이클, 런타임 및 모니터링에서 웹 애플리케이션 보안 환경을 제공합니다.
Blue Team
개발 라이프 사이클과 인프라를 선제적으로 모니터링 하여 보안 제어 환경을 최신 상태로 유지
코드
flex가 소프트웨어 설계, 개발, 테스트 및 배포 단계에서 애플리케이션 보안을 구현하는 자세한 방법은 소프트웨어 개발 보안 섹션을 참조하시기 바랍니다.
flex에 대한 액세스
flex는 분산 서비스 거부(DDoS) 공격 위험을 완화할 목적으로 CDN 보안 Edge 서비스를 이용하여 전 세계 모든 곳에서 접속을 시도하는 악성 공격을 방어하는 환경을 제공합니다. 여기에는 Web Application Firewall, IPS, Anti-bot 이 포함되어 있습니다. 추가적으로 고객은 flex에서 글로벌 정책으로 구현하는 보안 환경 외에 고객이 직접 IP 화이트리스트 규칙을 설정할 수 있습니다.
애플리케이션 및 데이터베이스 보안 환경
flex는 크로스 사이트 스크립팅(XSS), 크로스 사이트 요청 위조(CSRF), 인젝션 공격 등 애플리케이션 공격 위험을 차단 할 목적으로 애플리케이션이 운영되는 환경에서 실시간 보안을 제공하고 있습니다.. 예를 들어 교차 오리진 리소스 공유(CORS) 검증, 신뢰할 수 있는 오리진 검증, 세션 컨텍스트 검증 등이 여기에 해당합니다.
flex는 XSS 위험을 차단하기 위해서 모든 입력이 가능한 지점에서 해당하는 데이터 형식을 따르고 있는지, 스크립트 작성이 가능한 HTML 태그가 포함되어 있는지, 그리고 렌더링 이전에 잠재적 태그가 제거되었는지 여부를 검증합니다. 또한 모든 HTML 출력은 브라우저에서 스크립트를 처리하지 못하도록 인코딩됩니다.
flex는 XSRF 위험을 완화하기 위해 업계에서 모범 사례로 널리 사용되는 표준 기법을 토대로 모든 POST 요청이 flex에서 생성한 페이지에서 수신되는지 여부를 검증합니다. 이러한 보안환경은 서버가 보안 토큰을 생성하고, 생성된 보안 토큰은 페이지에 삽입되어 POST 파라미터로 추가됩니다. 토큰은 사용자 세션 전용이며, 서버만 알고 있는 비밀 키로 해시 처리됩니다. 이후 서버 측 인터셉터가 수신되는 POST 요청에서 보안 토큰이 포함된 요청 파라미터가 있는지, 그리고 토큰의 존재 여부와 함께 게시될 세션의 일치 여부를 확인합니다.
flex는 인젝션 공격을 차단하기 위해 데이터 입력을 제한하고 검증합니다. 또한 SQL 쿼리에서 바인드 변수를 사용해 데이터베이스 지속성 프레임워크를 구현합니다. 여기에서 바인드 변수란 SQL 명령의 자리 표시자로서 애플리케이션 실행 시 제공하는 값을 나타냅니다. 파라미터 마커를 사용해 값을 저장하면 쿼리 시 값을 문자열에 연결하여 실행하는 것보다 더욱 안전합니다.
Blue Team
개발 라이프사이클과 인프라를 선제적으로 모니터링하여 보안 환경을 최신 상태로 유지합니다. Blue Team의 각 단계별 업무는 소프트웨어 개발 보안과 보안 및 침투 테스트 섹션에 나와있습니다.
서비스 수준 가용성 및 성능 모니터링
flex는 신뢰성을 보장하기 위해 사용자의 [단말 – Frontend (웹브라우저 및 모바일앱) – Backend(서버) – 인프라] 에 이르는 전 구간에 대해서 통합된 모니터링을 하고 있습니다.
RUM (Real User Monitoring)
APM (Application Performance Monitoring)
IM (Infra Monitoring)
통합분석 시스템
이를 통해 발견된 이상 징후를 연결 분석하여 장애가 발생하기 전에 사전 차단합니다.
Red Team
내부 보안 및 침투 테스트
타사 보안 및 침투 테스트
고객 침투 테스트
공개 버그 바운티
flex의 보안 및 침투 테스트 프로그램
내부 보안 및 침투 테스트
flex 내부의 보안 “Red Team”은 최신 보안 위협에 대한 flex 서비스 보안을 주기적으로 테스트합니다.
타사 보안 및 침투 테스트
flex는 외부 해킹팀에 의뢰하여 flex 서비스에 대한 그레이 박스 침투 테스트를 매년 2회 이상 실시합니다. 이는 실제 해킹과 동일하게 이루어 지며, 동시에 해당 기간동안 Blue Team은 방어 훈련을 실시 합니다.
고객 침투 테스트
flex는 고객이 flex 협의된 사전 인스턴스에 대해 침투 테스트를 실시할 수 있도록 고객의 보안 프로그램과 협력하고 있습니다. 단, 사전 NDA 및 테스트 방법론에 대해서 협의 후 가능합니다.
위의 프로그램들은 모두 상호보완적이며 flex 보안을 최고 수준으로 관리하기 위해 최선을 다하고 있습니다.
Compliance Program
보안 클라우드
컴퓨팅 & 인적 보안
애플리케이션
플랫폼
flex 무료 체험
대표 : 장해남

주소 : 경기도 성남시 분당구 황새울로 359번길 11 7, 8층
(서현동, 미래에셋플레이스)

사업자등록번호 : 460-81-01544
통신판매업 신고번호 : 2020-성남분당A-1757