플랫폼 소개

마지막 업데이트: 2022년 3월 13일 | 0개 댓글
  • 네이버 블로그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 트위터 공유하기
  • 카카오스토리 공유하기
15. Community — Digital Retail (영상 링크)
롯데ON, 김수영님

플랫폼 소개

2022년 6월 23일 UNDP 서울정책센터(이하 ‘USPC’)와 UNDP 이스탄불 지역사무소는 한국 반부패 정책을 벤치마킹한 유럽 및 중앙아시아지역 부패 방지 메커니즘의 성과를 공유하는 온라인 화상 간담회를 개최했다. 이번 행사는 UNDP 이스탄불 지역사무소가 주최하는 간담회 시리즈인 ‘거버넌스의 미래(Future of Governance)’의 일환으로 진행되었다.

USPC는 2015년부터 대한민국 국민권익위원회(이하 ‘권익위’)와 협력해 코소보, 몰도바, 몬테네그로, 우즈베키스탄 등 총 12개국의 USPC 파트너 국가들과 한국의부패방지제도인 부패방지시책평가(Anti-Corruption Initiative Assessment)와 부패영향평가(Corruption Risk Assessment)를 공유하였으며, 이를 기반으로 현지의 제도 개정 및 반부패 시스템 구축에 중요한 역할을 수행해 왔다.

간담회는 USPC의앤 유프너 소장대리 (Dr. Anne Juepner)와 권익위의 원영재 국제교류담당관, UNDP 이스탄불 지역사무소의 게르트 플랫폼 소개 트로게만(Mr. Gerd Trogeman) 소장의 개회사로 시작되었다.

앙가 티밀시나(Dr. Anga Timilsina) UNDP 반부패자문관은 UNDP의 반부패 사업 기조를 소개하며, 지속가능발전목표(Sustainable Development Goals, SDGs) 달성을 위한 부정부패 근절의 핵심적인 역할을 강조했다. 나아가 티밀시나 자문관은 반부패 사업의 장기적인 효과를 위해 사업 수혜국의 제도적 발전뿐 아니라 지역 간 활발한 지식 교류, 혁신적인 기술 사용 및 이전 사례에 기반한 체계적인 정책 입안의 중요성을 설명했다.

UNDP 이스탄불 지역사무소의 이라클리 코테티쉬빌리(Mr. Irakli Kotetishvili) 정책관이 유럽 및 중앙아시아 지역의 반부패 사업을 소개했다. 동 지역의 반부패 사업이 전자정부 구축에 집중하고 있음을 강조하며, 카자흐스탄 및 코소보, 북마케도니아, 몰도바 등의 UNDP 국가사무소에서 시행되는 시민사회 역량 개선 및 디지털 민원 처리 시스템 구축 사업을 설명했다.

USPC 이아정 정책관은 USPC와 권익위가 함께 진행하는 반부패 분야 SDG 파트너십 사업의 목적과 의의, 성과 등을 설명하며, 파트너 국가의 부패 척결의지를 바탕으로 한 지속가능한 부패 관리 시스템의중요성을 강조했다. 나아가 이 정책관은 USPC에서 새롭게 착수하는 SDG 파트너십의 일환으로 권익위의 디지털 부패 신고 및 민원 관리 시스템인 “청렴포털” 공유 사업을 소개하며, 디지털 반부패 역량 강화를 위한 초기 자금 및 정책 자문을 필요로 하는 UNDP 국가 사무소의 많은 관심과 참여를 촉구했다.

마지막으로 유럽 및 중앙아시아 4개국(코소보, 몰도바, 몬테네그로 , 우즈베키스탄)의 UNDP 국가사무소에서 USPC와의 파트너십을 통해 전수받은 권익위의 부패방지시책평가와 부패영향평가에 기반한 각국의 반부패 사업 성과 보고를 진행했다. UNDP 코소보 국가사무소의 마토 마이어(Mr. Mato Meyer) 정책관은 부패 방지를 위한 코소보의 제도적 결함을 시사하며, 권익위와의 전문가 회의 및 방한 연수를 통해 코소보 내 범부처적 반부패 제도 부서 설립과 부패 척결을 위한 적극적인 제도 개선이 이루어지고 있음을 설명했다.

UNDP 몬테네그로 국가사무소의 옐레나 므르닥(Ms. Jelena Mrdak) 프로그램 매니저는 몬테네그로 정부가 권익위의 부패방지시책평가에 기반하여 제작된 반부패 평가 제도를 시행 중에 있음을 소개했다. 므르닥 프로그램 매니저는 총 40여 개의 몬테네그로 정부 부처 중 32개 부처가 평가를 완료했으며, 그 중 27개 부처가 부패 방지를 위한 내부 감사 시스템을 성공적으로 구축했음을 소개했다.

나아가 UNDP 몰도바 국가사무소의 올레시아 페리안(Ms. Olesea Perean) 전문관과 UNDP 우즈베키스탄 사무소의 나리만 무라다실로프(Mr. Nariman Muradasilov) 담당관은 우즈베키스탄의 ‘E-Anticor.uz’와 같이 USPC 및 권익위와의 파트너십을 통해 개발 및 운영중인 각국의 디지털 부패 신고 및 민원 관리 시스템을 소개했다.

* UNDP 서울정책센터(USPC)는 2015년부터 USPC의 전략적 전문성을 바탕으로, 지속가능발전목표(SDG) 달성을 위해 대한민국의 혁신적이고 검증된 정책들을 20여 개국과 공유해 왔다. USPC의 SDG Partnership은 UNDP의 Global Policy Network의 일환으로, 실용성에 기반한 지식 교류와 국내 유관 기관들과의 연계 및 협력 구축, 초기 자금 및 기술 지원, 정책 자문 등 다양한 지원을 통해 한국 정책의 현지화 및 제도화를 돕고 있다.

미리캔버스 소개

미리캔버스는 다양한 무료 템플릿, 사진, 리소스 등으로 디자이너 없이도 웹에서 전문적인 디자인을 완성하고 상업적으로 이용할 수 있는 서비스이다. 별도의 프로그램 설치 없이 웹에서 사용이 가능하며, 무료 플랜, 프로 플랜, 기업용 엔터프라이즈 플랜을 보유하고 있다. 프리-미엄 전략으로 대부분의 기능을 무료로 사용 가능하게 허용하고 있다.

추천 대상: 학생, 선생님, 기업, 비영리 기관 등의 디자이너가 아닌 일반인 모두

회원가입의 허들을 없애다

미리캔버스 홈페이지 화면이다. ‘저작권 걱정 없는 무료 디자인 툴’임을 강조하고 있다. 상업적 이용 가능, 워터마크 없음을 내세운다.

홈페이지에서 ‘바로 시작하기’를 누르면 로그인 없이 바로 프로덕트를 사용해 볼 수 있다. 다양한 템플릿을 종류 별로 보유하고 있으며 가입 없이 템플릿을 적용하고, 디자인을 수정하며 직접 경험해 볼 수 있다. 왕관 아이콘이 달린 템플릿은 프로 플랜 가입 시 이용 가능하다.

본인이 완성한 디자인을 다운로드하거나 저장하려면 회원가입 / 로그인을 해야 한다. 굉장히 적절한 시점에, 적합한 이유로 회원가입을 유도하고 있다.

자세한 용도를 물어보는 온보딩

회원 가입 시, 용무와 세부 사용 용도를 굉장히 자세히 물어보고 있다. 미리캔버스는 상황별로 굉장히 다양한 템플릿과 디자인 사례를 가지고 있는데, 사용자가 선택한 세부 사용 용도에 따라 적합한 템플릿을 먼저 추천해 줄 수 있을 것이다.

다양한 카테고리별 템플릿

웹용과 인쇄용을 구분해 두었고, 프레젠테이션, 문서 서식, 인포그래픽, 유튜브 썸네일, 상세 페이지 등 굉장히 많은 카테고리별 템플릿을 제공한다. 사용자는 제공한 템플릿에서 간단히 글자와 이미지 수정만으로 수준 높은 디자인을 완성할 수 있다.

모든 컴포넌트는 분리되어 있어 사용자가 조정하거나 삭제/추가할 수 있다. 디자인이 끝나면 다운로드 버튼을 눌러 웹용, 인쇄용 등의 용도에 따라, 파일 형식에 따라 다운로드가 가능하다. ‘디자인 저장, 다운로드를 위해서 로그인/회원가입을 해주세요'라는 안내를 하고 있다.

인쇄물 제작에 강한 미리캔버스

미리캔버스는 우측 상단에 ‘인쇄물 제작'을 강조하고 있다. 사실 미리캔버스는 인쇄에 강점을 갖고 있는 회사로, 디자인 출력 솔루션인 비즈하우스에서 제작했던 스마일 캔버스에서 발전한 프로덕트이다. 그만큼 ‘출력'에 강점을 갖고 있다. 리플렛, 홀더 부터 시작해서 비닐봉투, 냅킨, 입간판 등 인쇄가 가능한 거의 모든 제품을 커버하고 있다.

당연하게도 카테고리별로 템플릿을 보유하고 있어서 사용자는 쉽게 디자인을 할 수 있고, 해당 인쇄물 출력 옵션을 클릭하면 제품별로 상세한 가이드를 제공하는 점도 인상 깊다.

사실 디자인을 마친 후에도 인쇄까지 과정은 굉장히 길고 복잡하다. 인쇄물 별로 유의해야 할 점이 모두 다르기 때문이다. 보통 해당 제품을 제작 가능한 업체를 찾아, 업체에서 제공하는 가이드라인을 따라 디자인을 수정하고, 업로드하고, 답장이 오기를 기다리는 지난한 과정을 거쳐야 하는데, 아예 처음부터 가이드라인이 적용된 템플릿에서부터 디자인을 시작할 수 있다는 점이 좋았다. 특히 디자이너가 아닌 일반인들에게 유용해 보인다.

협업에 유용한 기능들

로그인을 하면 협업에 유용한 다양한 기능을 제공한다. 작업 공간 탭에서는 내 디자인, 드라이브를 확인할 수 있고 협업이 필요할 때는 공유 드라이브를 만들 수 있다.

브랜드 탭에서는 브랜드 키트를 등록해 둘 수 있다. 회사의 로고, 색상, 글꼴을 등록해두고 편하게 사용할 수 있다.

또한 브랜드 관리는 프로/엔터프라이즈 플랜에서만 사용이 가능한 기능들이 들어있는데 일반 유저에게도 노출함으로써 프로 플랜에 어떤 기능이 있는지 간접적으로 확인이 가능하게 했다. 주로 디자인 승인 관리 등 협업과 워크 플로우에 신경 쓴 기능들이 있다.

디자인 의뢰하기

인쇄물 제작 외에도 템플릿 외의 보다 더 전문적인 디자인이나 로고, 웹 콘텐츠가 필요한 사용자를 위한 ‘디자인 의뢰하기’도 운영 중이다.

롯데ON 온-오프라인 통합 커머스 데이터 플랫폼 소개

AWS Summit Korea 2022에서 롯데e커머스가 성공적인 AWS 활용 케이스로 선정되어, 롯데ON의 온-오프라인 통합 커머스 데이터 플랫폼 소개하는 세션이 있었습니다. 온-오프라인 유통사와 오픈 셀러의 데이터를 수집 및 가공하는데, 손쉽게 데이터 파이프라인을 구성한 방식과 통합 데이터 플랫폼을 운영하는 모범 사례를 공유했습니다.

롯데ON의 데이터레이크는 롯데그룹 계열사별로 관리되고 있던 온-오프라인 커머스 데이터를, 정형/비정형 리포트 및 데이터 분석을 통한 인사이트 도출에 활용되고 그 외 다양한 여러 서비스에 활용될 수 있도록 통합한 데이터 플랫폼입니다. 데이터를 수집하는 것만 아니라, 전사적으로 데이터를 활용함에 있어 고품질 데이터 유지 및 제공을 위한 데이터 표준 관리, 품질보증 활동, 데이터 리니지 관리 등의, 데이터 거버넌스 기반하에서 관리되고 있습니다.

온-오프라인 상품 및 매출 데이터의 적재 흐름과 방식을 소개하고, 채널별로 사용되는 AWS 매니지드 서비스를 활용한 아키텍처를 소개하겠습니다. 또, 수집된 온-오프라인 데이터가 통합되고 활용되는 흐름과 고려될 수 있는 개선사항도 공유합니다.

📌 온-오프라인 커머스 데이터 통합

15. Community — Digital Retail (영상 링크)
롯데ON, 김수영님

온라인 통합 쇼핑 플랫폼인 롯데ON을 개발/운영하는 롯데e커머스는, 국내 인구 절반이 넘는 회원 구매 데이터를 보유하고 있고, 20년 넘게 축적된 온라인 운영 노하우를 바탕으로 데이터 기반으로 고객을 가장 잘 이해하는 커머스 플랫폼 서비스를 지향하고 있습니다. 이에 더 나아가 고객에게 온-오프라인 경계 없는 다양한 혜택을 제공하기 위해 통합 데이터 플랫폼이 필요하게 되었습니다. 이를 위해 모든 커머스 데이터를 수집하는 데이터레이크를 구성했고, 수집된 데이터는 대고객 서비스를 위한 데이터 소스로 이용되고 있습니다.

데이터레이크에 적재되는 데이터는 크게, 롯데e커머스 내부 데이터와 외부 데이터로 구성됩니다. 온라인 데이터로는 OLTP성 데이터와 분석 센터의 집계 데이터, 구글애널리틱스 데이터가 있고, 외부 데이터 소스로는 계열사별 일반 매출과 온라인 제휴 매출이 있고, 롯데백화점 롯데마트, 롯데슈퍼, 롭스 등의 오프라인 매출 관련 데이터가 있습니다.

롯데e커머스 대부분의 인프라는 AWS 클라우드 환경에서 운영되고, 일부는 온프레미스 형태로 IDC에서 운영되고 있으며, Direct Connect 또는 VPN으로 연계되고 있습니다. 통합 데이터 저장소로는 Amazon Redshift가 사용되고 있습니다. 초기 1년은 DC2 타입을 사용해 빠른 데이터 적재 및 쿼리 속도를 제공했으나, 급속히 증가하는 데이터와 데이터레이크 특성을 고려해 대용량 볼륨, 고대역폭, 비용 최적화와 서비스 안정성을 위해 RA3 타입으로 변경했고, Redshift 용 분석 쿼리 가속기인 AQUA 지원으로 보다 빠른 데이터 서비스를 제공하고 있습니다.

계열사 간 데이터 연동은 반정형 형태의 파일을 사용하고 AWS Transfer Family SFTP를 통해 Amazon S3에 저장되고 있습니다. 데이터 적재 모듈은 S3 버킷 속성에 정의된 룰에 의해 FIN 파일 생성 이벤트 발생 시에 AWS Lambda가 실행되고, ETL을 위한 데이터 소스별 AWS Glue Workflow로 분기 처리되고 있습니다. Workflow 내에 정의된 Job에 의해 수신된 파일이 Parquet 형태로 서비스용 S3 버킷에 생성되고, 해당 Parquet 파일을 Redshift Copy 플랫폼 소개 명령어를 통해 논리적으로 정의된 ODS 영역의 테이블에 적재됩니다. 모든 계열사의 데이터가 ODS에 적재된 후에 DW/DM 적재를 위한 ETL 배치가 실행되고, 적재된 데이터는 비즈분석센터와 분석계 대시보드에서 리포트로 활용됩니다.

📌 롯데ON 데이터 파이프라인

롯데ON 온라인 서비스의 데이터 파이프라인을 보면, 데이터 성향과 활용 형태에 따라 다양한 DBMS를 이용합니다. key-value 형태의 대용량 데이터를 위해 Amazon DynamoDB를 사용하고, Full-Text Search가 필요한 부분에는 AWS ElasticSearch를 사용합니다. 또, 마이크로서비스로 구성된 대부분 애플리케이션에서는 Amazon Aurora를 사용합니다. 롯데ON 고객 행동 로그는 구글클라우드플랫폼의 BigQuery에 저장됩니다.

여러 다양한 저장소에 적재된 데이터들은 Queue를 사용하거나 ETL 툴 또는 AWS Glue를 사용해 준 실시간으로 S3에 저장됩니다. GCP에 저장된 고객 행동 로그의 경우는 최초 적재 시 Avro 형태이기 때문에, Parquet 형태로 변환하는 과정을 추가해 S3로 저장하고 있습니다.

대부분 서버리스 서비스를 사용해 아키텍처를 구성했고, 사용률이 계속 증가하고 있지만, 무분별한 데이터 적재를 예방하여 30TB 수준의 데이터 양을 유지하고 있습니다. 하루 50만 개 정도의 파일들이 추가, 삭제되고 있는 상황입니다. 해당 롯데ON 데이터레이크의 사용성 향상을 위해 Glue Catalog를 생성해 Amazon Redshift Spectrum, Amazon EMR, Amazon Athena 등의 서비스에 활용되고 있습니다.

롯데ON은 MSA 형태로 서비스를 운영하고 있어, 마이크로 서비스 간 디커플링 정책을 가져가고 있습니다. 그래서 마이크로 서비스 간 데이터를 공유할 수 있는 아키텍처가 필요했고, 30분 이내에 원 데이터와 100% 동기화 되어야 한다는 미션을 가지고 아키텍처를 구성했습니다.

📌 데이터 플랫폼 ETL 프로세스

롯데ON과 여러 계열사의 온라인에서 발생하는 데이터 수집 흐름입니다. ETL 트리거를 위한 FIN 파일과 함께 협의된 범위의 데이터들이 반정형 형태의 파일로 전송되거나, 가져오는 형태로 S3 랜딩 버킷에 저장되어, 정형 형태의 Redshift ODS 영역의 테이블로 적재됩니다. 수신된 파일을 Redshift에 적재하기 위한 ETL 도구로써 AWS Glue가 사용됩니다.

Glue에서는 압축 해제 및 디코딩, Parquet 변환 등의 파일 작업과 데이터 유효성 체크를 진행하고, 정상적인 파일들만 ODS에 적재합니다. ODS ETL 단계는 Redshift Copy 명령어로 협의된 구분자, Null 또는 빈 값, 날짜 포맷 등의 옵션을 적용하여 처리하게 됩니다. 연동되는 파일 용량에 따라 python 또는 PySpark를 사용하게 되며 Redshift 접근을 위한 인증 정보는 보안을 위해 AWS Secrets manager에 설정된 값을 사용하게 됩니다. 또한 Copy에 사용되는 Parquet 파일은 Crawler를 통해 Glue Data Catalog를 생성하고 Athena 또는 Spectrum으로 데이터를 제공하는 추가 채널로 사용되고 있습니다.

데이터 원천별로 수집되는 수십여 개의 파일들을 Glue Workflow를 사용하여 Parquet 형태로 변환하여 ODS에 적재하고 있으며 Glue Job을 병렬로 연결하여 처리 속도를 높였고 적재 스크립트에서 사용되는 라이브러리는 패키지화하여 공통으로 사용하고 있습니다. Job 실행 시 네트워크 및 데이터베이스 Connection 끊김 등의 오류에 대비하여 Retry Count를 늘려 사용하고 있고 재시도마다 한 트랜잭션에 묶이도록 로직이 구성되어 있습니다.

모든 파일 처리가 완료되면 해당 일자의 데이터를 Informatica ETL을 통해 DW 적재 작업이 수행되고 이후에 리포트 및 계열사 제공 등의 활용을 위해 데이터 마트 적재가 수행됩니다. 파일이 수신되어, 최종 데이터 마트에 적재되기까지의 모든 흐름을 자체 구축한 ETL 상황판이라는 대시보드에서 확인 가능하고, 각 단계의 처리 결과는 Slack과 Webex의 전용 채널로 알림이 전송됩니다. ETL 처리 결과에 대한 로깅은 커스터마이징 된 대시보드 외에도 CloudWatch를 활용하여 좀 더 자세한 로그 및 오류를 확인하고 있습니다.

데이터레이크의 큰 부분을 차지하는, 오프라인 데이터의 ETL 흐름을 표현한 내용으로 온라인 데이터의 흐름과 크게 다르지 않지만, 온라인의 주요 ETL 도구로 Glue가 사용되었다면, 오프라인에서는 AWS Lambda가 사용되고 있습니다.

Lambda의 경우 메모리 및 실행 시간의 제약이 존재하기 때문에, 기본적인 파일 처리만 Lambda가 담당하고, 긴 시간이 필요한 데이터 적재 처리를 Redshift Data API를 사용해 비동기로 처리하고 있습니다. 비동기 처리되어, 롤백되는 후처리는 Lambda에서 ETL 결과를 로깅하고, 모니터링 및 알림 처리를 수행하는 구조로 되어있고, Lambda를 사용한 비동기 처리로 적재 실행 시간 동안 발생하는 대기시간 비용을 줄일 수 있습니다.

스마트 영수증, 스탬프 적립 등의 서비스에 오프라인 데이터가 준 실시간으로 활용되고 있고, 이를 위해 파일 수신, ODS 적재, DW/DM 적재가 한 Flow 안에서 처리되고 있습니다. DW/DM 적재는 Informatica로 구성되어 있고 Lambda에서 AWS System Manager의 SendCommand로 EC2에 설치된 Informatica Workflow를 실행하게 됩니다.

계열사별로 S3에 파일이 저장되는 방법이 조금씩 다릅니다. AWS IAM에서 생성된 계정과 발급된 Access Key를 가지고, CLI 방식으로 S3 버킷에 직접 접근하기도 하고 온라인 방식처럼 SFTP를 이용해 파일을 플랫폼 소개 전송하기도 합니다. SFTP를 사용하는 경우에도 계열사별로 발행된 SSH 키를 사용하고 특정 랜딩 버킷으로 제한해 보안을 강화했습니다.

📌 온-오프라인 데이터 통합 및 활용

계열사별로 관리되는 데이터가 적재되고 통합되어, 여러 채널을 통해 활용되고 있습니다. 온-오프라인 통합 서비스를 제공하고자 상품을 통합했고, 온라인 고객에게 오프라인 구매에 대한 혜택을 제공할 수 있는 통합 분석 데이터를 롯데e커머스 내/외부에 다양한 채널로 제공하고 있습니다.

프로모션 고객 타겟팅을 위한 광범위한 기준 데이터를 제공해 효과적인 마케팅에 활용되며, 제철 식품, 자주 구매한 상품 추천 등의 개인화 서비스에도 사용되고 있습니다. 다양한 방법으로 데이터를 활용하는 플랫폼 역할을 수행하기 위해 정형/비정형 분석 리포트 외에, 데이터 분석가, Sientist, 일반 사용자에게 셀프-쿼리, 셀프-분석 도구를 제공하고 있습니다.

e커머스 내/외부에 데이터를 제공하기 위해 Athena, Spectrum 파일 연동 등의 다양한 방법이 사용되고 있습니다. 통합 빅데이터를 필요한 곳에, 적절한 형태로 제공하기 위해 내/외부 협업이 활발하게 이루어지고 있고, 쌓기만 하는 데이터가 아닌, 효율적으로 데이터를 활용하고 매출 증대 및 고객 만족을 위한 플랫폼으로 점점 더 발전해 나가고 있습니다.

📌 더 개선할 수 있는 항목

운영 및 유지에 필요한 비용에 대한 절감과 관리 효율성, 개발 편리성 등을 고려해 기존 ETL을 개선할 수 있는 AWS 매니지드 서비스를 검토하고, 신규 IT 트렌드를 파악하고 적용하기 위한 지속적인 노력을 하고 있습니다. 팀 내 데이터 엔지니어 파트 구성원들과 개선 항목을 도출하고 적용 가능성 및 타당성을 파악하는 등의 정기적인 아이디어 회의를 하고 있습니다.

운영 비용 절감에 대해서는 전사적으로 AWS와 함께 개선 작업을 진행하고 있고, 각 MSA 모듈별로 EC2 인스턴스의 오버 프로비저닝 확인 및 오토 스케일링 적용 등과 같은 작업을 진행하고 있습니다. 데이터레이크 또한 현재보다 개선된 아키텍처 구성으로 성능 개선과 함께 비용도 절감할 수 있는 방안을 꾸준히 모색하고 있습니다.

한 가지 예로, 서버리스 지향 ETL 모듈 중에서 대용량 파일 처리 또는 Spark 사용이 필요한 Glue Job이 아닌 경우, Glue보다 조금 더 저렴한 Lambda로 변경하고, 특정 시점 이전의 데이터 또는 사용 빈도가 적은 데이터를 S3에 Parquet 형태로 보관 후, Athena 또는 Spectrum으로 조회합니다. 또, EC2에 직접 설치해 운영 중인 Airflow와 DW/DM ETL에 사용되는 Informatica Job을, AWS 매니지드 서비스로의 전환을 고려하고 있습니다.

마무리하며…

롯데ON은 온-오프라인에서 기하급수적으로 증가하는 데이터를 적절하게 수집/가공해야 하고, 통합 분석할 수 있어야 하면서도, 다양한 요구사항을 처리해야 하는 챌린지를 받고 있습니다. 그래서 소개한 것처럼 통합 분석이 가능한 데이터플랫폼을 만들고 운영하게 되었습니다.

e커머스 시장은 계속 성장세를 가속화하고 있고, 반면 오프라인 시장은 온라인이 가지지 못하는 장점이 있음에도 불구하고 성장세가 낮아지고 있습니다. 이런 상황에서 온-오프라인 데이터 통합 및 분석으로 유효한 지표를 이끌어내 활용한다면, 모두 상생하고 성장하는 계기가 마련될 수 있지 않을까 예상합니다.

플랫폼 소개

SOMMA, Inc. Tech Blog

Cybersecurity start-up focused on Threat Hunting.

Contact me

2022 © (주) 쏘마 기술 블로그

Contents

본 글에서는 국/내외에서 사이버 보안 위협 대응에 사용하고 있는 위협 인텔리전스 플랫폼 (Threat Intelligence Platform, TIP)과 서비스를 소개하고자 합니다. 위협 인텔리전스 플랫폼과 서비스 구축은 사이버 위협 대응에서는 필수이며, 위협 정보 공유를 통해 사이버 보안 사고를 신속하게 대응하기 위함입니다. 위협 인텔리전스 플랫폼으로 가장 많이 활용되고 있는 CIRCL의 MISP, Alien Vault의 OTX, 그리고 국내 KISA에서 운영하고 있는 C-TAS를 통해 위협 정보를 어떻게 공유하는지 알아보고, 적극 활용해보길 바랍니다.

Threat Intelligence Platform (TIP)

위협 인텔리전스 플랫폼(Threat Intelligence Platform, TIP)은 대체로 아래 그림과 같은 구조로 설계 및 구현 되고 다음과 같은 주요 핵심 기능이 필요합니다.

  • 여러 인텔리전스들의 통합
  • 데이터의 생성, 정규화, 위험 점수 표시
  • 기존 보안 시스템과의 통합
  • Threat Intelligence 의 분석 및 공유

TIP by anomali

그림 출처: https://www.anomali.com/resources/what-is-a-tip

위협 인텔리전스 플랫폼을 이해하기 전에, 인텔리전스 정보를 공유하는 데 기반이 되는 TAXII 와 STIX 를 간단하게 알아보겠습니다.

TAXII, STIX 기본 이해

미국 국토안보부(DHS)는 사이버 위협에 대응하기 위한 표준화된 체계를 만들기 위해 마이터(MITRE)를 통해 2013년 4월에 사이버 위협 정보 전송 규격인 택시(TAXII)를 발표 했으며, 같은 해 10월에 사이버 위협 표현 규격인 스틱스(STIX)를 발표하면서 인텔리전스 공유 체계의 기반을 마련했습니다.

TAXII (Trusted Automated Exchange of Indicator Information)

  • 택시는 위협 정보를 교환 할 때 각 업체와 파트너사에 도움을 주기 위해 설계 한 것입니다.
  • 3가지 공유 모델이 있음: hub and spoke, source/subscriber, peer-to-peer
  • HTTP(S) 기반 XML 메시지 통신
  • 택시 서버: TAXII server 1.0 를 “Yeti(insecure version of Django. 더이상 지원안함)”라고 하며, 파이썬으로 택시 2.0 서버를 간단하게 구현한 것이 메달리온. 오아시스에서 만든 오픈소스이며 Flask로 구현됩니다.
  • 택시 클라이언트: 파이썬 라이브러리 “libtaxii” 이용
  • TAXII 상세설명

STIX (Structured Threat Information Expression)

  • 사이버 위협 정보를 표현하기 위한 표준화된 커뮤니케이션 언어
  • TAXII와 유사하지만 프로그램이나 도구가 아닌, 이를 지원해주는 컴포넌트
  • 현재 표준 버전은 2.0 Committee Specification (19 July 2017)
  • 최신 수정 버전은 2.1 Recent Committee Specification Draft Version 2.1 (26 July 2019)

현재 많은 위협 인텔리전스 플랫폼에서 STIX 2.0 포맷 기준으로 위협 정보를 공유하지만, 1.0 또한 여전히 사용중이므로 각 버전에 대한 포맷의 이해가 필요합니다. STIX 1.0은 XML 을 사용하며 8개 구성요소이고, STIX 2.0은 JSON 형태이며 12개의 구성요소라는 것이 다른점입니다. 다음에서 각 차이점을 좀 더 이해해보도록 하겠습니다.

STIX 1.0

다음은 STIX 1.0 을 요약한 것입니다.

  1. Observable: 사이버공간에서 관찰 가능한 모든 이벤트 관련 구조체. CybOX로 표현하는 이벤트나 상태가 있는 속성. (파일 해시, 레지스트리키, 서비스모골그 IP 주소 등)
  2. Indicator: Observable 중 데이터 모음 표현. 시간, 정보 출처, 침입 탐지 룰 등 포함. (해킹된 도메인, 위조된 이메일, 트로이목마와 관련된 파일 해시)
  3. Incident: Indicator 중 사이버 공격으로 밝혀진 결과 표현. 유사한 공격을 진행한 공격 그룹의 행위 집합. (피해 시간, 육하원칙에 기반한 피해,공격 정보)
  4. Tactics, Techniques and Procedures (TTP): 그룹의 TTP. Incident 배후의 전략 및 기술
  5. Threat Actor: 공격 그룹. TTP 수행 주체
  6. Campaign: 관련 TTPs, indicators, incidents, exploit targets의 집합. Threat Actor의 의도가 담긴 한 개 이상의 Incident 또는 TTP
  7. Exploit Target: Threat Actor의 TTP에 악용되는 공격 대상의 취약점 (CVE 및 OSVDB, CVRF, CWE, CCE)
  8. Course of Action (COA): 위협 대응 방법 (prevention, remediation, mitigation)

STIX 2.0

다음은 STIX 2.0 을 요약한 것입니다.

  1. Attack Pattern: 공격 패턴은 TTP의 한 형식
  2. Campaign: 관련 TTP 등 공격의 집합. 작전
  3. Course of Action: 위협 대응 방법
  4. ID(identity): 개인 또는 조직 식별자
  5. Indicator: 침해 지표
    • pattern으로 상세 정보 표현 포맷 참고
  6. Intrusion Set: 침입 그룹. 악성 행위나 캠페인 그룹
  7. Malware: 악성 소프트웨어
  8. Observed Data: 탐지 대상 (파일 해시, 레지스트리키, 서비스, IP 주소 등). 객체 구현은 cyber observable 포맷에 따름
  9. Report: 분석 결과 보고서나 인텔리전스 정보
  10. Threat Actor: 조직 정보
  11. Tool: 공격에 사용된 정상 소프트웨어
  12. Vulnerability: 취약점 정보
  • Relastionship: SRO 간 관계를 표현 (targets, uses, indicates, mitigates, attributed-to, varient-of, impersonates) 상세
  • Shighting: 탐지된 정보
  • bundle: 여러 STIX 객체 모음을 공유하는 데 사용
  • making definition 예제
    • TLP: 공유 범위 정의 https://www.us-cert.gov/tlp

    아래 그림을 통해 STIX 2.0 구조를 잘 이해할 수 있습니다. 각 도메인 객체 SDO간에 관계 SRO가 어떻게 연결되는지 표현한 것입니다. 예를 들어 상단에 빨간 박스 ADVERSARIES 는 공격자를 의미하며, 공격자는 Threat Actor, Intrusion Set, Campaign 객체로 설명됩니다. 그리고 이 공격자가 사용하고 있는 TTP는, 그림의 중간에 파란 박스로 표현되어 있는 부분입니다. TTP에는 Attack Pattern, Malware, Tool 객체로 구성되어 있고, 각 객체간 관계가 표현되어 있습니다.

    Stix2.0 Architecture

    그림 출처: https:플랫폼 소개 //freetaxii.github.io/

    사이버 인텔리전스 정보 공유 플랫폼 및 서비스

    국내외에서 가장 많이 활용되고 있는 사이버 인텔리전스 정보 공유 플랫폼 및 서비스를 살펴보겠습니다. 다음은 각 내용을 살펴보기에 앞서 MISP, OTX, C-TAS의 데이터 종류와 포맷, 수집 방법을 간단히 비교 정리한 것입니다.

    cyber-intel-summary

    그림 출처: 주식회사 쏘마 인텔리전스 팀

    CIRCL - MISP (Malware Information Sharing Platform)

    MISP는 CIRCL 에서 사이버 보안 지표, 악성코드 분석 정보를 저장하는 것 뿐만 아니라 ICT 인프라, 조직에 공격 및 위협을 공유해 탐지하고 예방하기 위해 만들어진 플랫폼입니다. 주요 플랫폼 소개 사항은 아래와 같습니다.

    • MISP 2.4.119 released (aka the quality of life release) - 2019/12/04
    • 직접 구축할 수도 있고, vm 이미지 받아서 테스트 해 볼 수 있습니다.
    • 기본적으로 제공하는 피드의 종류가 약 60 여개 https://www.misp-project.org/feeds/
    • 피드 관리: Sync Actions > List Feeds
    • 지표 조회: Home > List Attributes
    • 분류 관리: Event Actions > List Taxonomies
    • 태그 관리: Event Actions > List Tags

    주요 기능

    MISP에서 제공하는 주요 기능입니다.

    export: Theat Intelligence를 IDS(Suricata, Snort, bro), OpenIOC, plain text, CSV ,MISP XML or JSON 형태로 제공

    storing data: 사이버 보안 지표가 되는 다양한 Theat Intelligence를 자동적으로 구조화된 형태로 저장

    user-interface: 이벤트 및 속성들을 업데이트 및 협업을 할 수 있는 직관적인 플랫폼 소개 인터페이스와 이벤트와 관련된 상관 관계를 원할하게 탐색할 수 있는 그래픽 인터페이스를 지원

    sharing functionality to ease data sharing using different model of distributions: 여러가지의 다른 Theat Intelligence의 공유 모델을 지원

    data sharing: MISP를 사용하여 신뢰할 수 있는 그룹들간의 자동적으로 Theat Intelligence를 교환과 동기화를 지원

    feed import: 여러 플렛폼으로 부터 MISP 피드 또는 OSINT 피드를 가져오고 통합 할 수 있도록 지원

    API: PyMisp 클라이언트를 활용하여 다양한 어플리케이션을 개발 하여 활용 가능

    MISP에서 분류 기반 침해 지표 점수 산정 방법

    MISP와 같은 플랫폼 소개 플랫폼 소개 분산 형 위협 공유 모델에서 신뢰는 필수 요소입니다. 데이터의 출처에 대한 신뢰와 우선순위를 부여하기 위해 내부적으로 점수를 매기는 알고리즘을 적용하고 있습니다. 다음은 주요 내용을 요약한 것입니다.

    • 현재(2020.02.25 기준) MISP에서 데이터에 가치를 부여하기 위해 110 개의 분류 기법(Taxonomy)을 사용.
    • Event Actions > List Taxonomies 에서 조회 및 수정 가능
      • 기본적으로는 모든 분류체계는 비활성화(disable) 상태.
      • 수집처를 완전히 신뢰하는 경우 소스 신뢰도는 1로 설정. 신뢰가 없으면 소스 레벨은 플랫폼 소개 0으로 설정.
      • 많은 침입 탐지 시스템의 시그니처에 IP가 주로 이용되는데, 일반적으로 서버나 브라우저에 블랙리스트를 적용하는 데 48 시간이 걸린다는 가정하에 신뢰 점수는 2 일 후에 절반으로 줄어듦.
      • 해시는 2개월 정도 이후 절반으로 신뢰도 감소

      그림 출처: 주식회사 쏘마 인텔리전스 팀

      다음은 주요 정부 기관에서 공유하는 정보에 분류 기법을 적용하기 위해, 활성화 하고 적용해 본 예입니다.

      그림 출처: 주식회사 쏘마 인텔리전스 팀

      AT&T alienVault - OTX (Open Threat eXchange)

      OTX는 Open Threat eXchange의 약자로, AT&T에서 운영하는 오픈 위협 인텔리전스 서비스입니다. 아래와 같은 방법으로 데이터를 연동할 수 있습니다.

      • API 이용
        • 홈페이지에서 회원 가입 후, profile > API key 를 얻습니다.
        • 사용자 가이드 문서 참고
        • 에이전트에 직접 접속 하는 방법: AlienVault OSSIM, AlienVault USM, Bro IDS, TAXII agent 이용합니다.
        • SDK를 통해 접속하는 방법: Java, Python3, Golang
        • Curl 을 통해 바로 데이터를 가져올 수도 있습니다.
        • https://otx.alienvault.com/indicator/ip/224.242.44.208

        다음은 Python3을 이용해 침해지표를 검색한 것으로 아래 코드를 참고 했습니다.

        • https://github.com/AlienVault-OTX/OTX-Python-SDK

        OTX에서 수집 피드 Pulse 활용를 잘 활용하면 조직에 원하는 침해 지표를 얻을 수 있고, 본인의 침해 지표를 다른 사람이 공유해 가도록 설정할 수 있습니다. OTX Pulse 란 웹에서 pulse를 통해 본인의 지표를 공유하거나 다른 사용자들이 만든 pulse를 구독하는 것입니다. pulse 만들때 PDF, text, plain text log, STIX, or OpenIOC 파일 업로드 해서 만들 수도 있습니다.

        • Pulse 예) https://otx.alienvault.com/pulse/5e033ef137b56bf5fb937a05

        OTX ioc 전체는 아래 스크립트로 가져올 수 있습니다. 일 2000개 정도 수집되는 것으로 테스트 되었으나, 실시간으로 업데이트 되는 데이터는 아닙니다.

        • https://github.com/Neo23x0/signature-base/blob/master/threatintel/get-otx-iocs.py

        KISA C-TAS (Cyber Threats Analysis System)

        C-TAS(Cyber Threats Analysis System)는 키사에서 제공하는 위협 정보 공유 서비스입니다. 키사에서 수집하거나 회원사가 공유하는 위협 정보 악성코드 해시, 공격지 IP, 유포지, C2 등을 제공합니다. 제공되는 정보와 방법은 아래와 같습니다.

        • 위협 정보 이외 분석 보고서, 통계 정보 메일링 제공
        • 웹, API 통해 XML / JSON / STIX2.0 포맷으로 정보 제공
        • 회원 가입 및 정보 공유 방법
          • [email protected] 에 가입 문의
          • 홈페이지 가입 > 보안 서약서 > 정보 제공 승인 처리
            1. 참여사 이름 밝힐지 여부
            2. 공유 범위 설정
          • 키사측에서 제공하는 자바 프로그램 이용해 API 통한 실시간 Feed

          이상으로 위협 인텔리전스 및 서비스의 종류와 특징, 그리고 이를 구성하는 기술들을 살펴보았습니다. 조직/기업에서 필요로 하는 정보의 특성 및 요구사항에 따라 필요한 정보들을 식별하고, 잘 관리하여 참조할 수 있다면 보안향상에 많은 도움을 얻을 수 있을 것이라 기대합니다.


0 개 댓글

답장을 남겨주세요