2016년 8월 21일 일요일

정보보안기사 정리 29 - FDS, FIDO, 망분리, APT, 랜섬웨어, Drive by Download 공격

FDS(개요, 수집하는 정보, 이상거래 판단 기준, 사고 분류 알고리즘, 결제 FDS), FIDO(개요, 인증과정, 적용사례), APT(개요, 공격과정, 대응), 사이버 킬 체인, Exploit 공격, 망분리, 랜섬웨어(개요, 감염과정 대응), Drive by Download 공격(개요, 감염과정 대응)


1. FDS(이상거래탐지 시스템)
- 온라인 금융거래가 보편화, 금융IT 기반의 핀테크 산업 성장, ActiveX 기반의 금융보안 모듈과 공인인증서 사용 의무화가 폐지되면서
  간편결제 서비스가 유행처럼 일어났고 덕분에 온라인 금융거래의 보안 강화가 큰 이슈가 됨.
- 이를 위해 필수적으로 제안되는 기술이 FDS임.
  FDS는 거래 트랜잭션을 분석해 이상거래를 찾아내는 것으로써 현재 전 금융권에 FDS 구축을 의무화되어 있음.
- 공격자가 사용자의 정보를 해킹해서 새벽에 해외 사이트에서 거액의 온라인 결제를 하는것을 FDS가 잡는 예를 들면,
  거래 하나만 보면 공인인증서, 비밀번호, 보안카드번호 등을 정확하게 입력했기 때문에 정상적인 거래처럼 보일 수 있지만
  실제 결제하는 패턴 정보를 보면 평소에 사용자는 새벽에 이체하는 일이 없었는데 갑자기 새벽에 거액의 돈을 이체한다던지,
  안하던 해외 결제를 시도한다던지 하는 것을 FDS가 탐지하고 해당 거래를 이상거래로 판단하면 일시 차단하고 본인 확인을 거침.
  즉, 사용자의 단일 거래 하나만 보는 것이 아닌 평소 사용자의 거래 패턴 정보 등을 분석하여 거래의 전체과정을 보는 것임.

- FDS가 수집하는 정보
  FDS는 사용자의 이력을 기반으로 이상거래를 탐지함.
  사용자의 프로필, 접속한 PC나 스마트폰의 정보, 거래 내용, 기존 거래 이력 등 수집 가능하거나 기존에 보유한 이용자 관련 정보들을
  금융회사 또는 기관과 공유하여 사기 행위에 대한 정보를 프로파일화 함.

- 이상 거래를 판단하는 기준
  수집한 정보를 종합적으로 분석하여 다양한 조건이나 위험 점수를 산정하여 위험 정도에 따라 본인 확인/재인증/거래 중지 등의 보호조치를 하게 됨.
  위험도를 판단하는 상세 기준은 공개 시 우회해서 악용될 수 있기 때문에 각 회사들이 상세히 공개하고 있진 않음.
  ① 위치 정보를 통한 이상 거래 판단: 사용자가 대전 음식점에서 카드 결제하고, 30분 후에 부산에서 결제한다면 이상거래로 탐지.
  ② 사용자 정보와 거래 이력 정보 분석: 교통카드로만 사용하던 카드가 명품가게에서 200만원이 결제에 사용된다면
      평소 사용자의 금융거래패턴과 다른 이상거래로 탐지.
  ③ 사용자 환경 정보 분석: 사용자의 접속 단말기 / OS 및 브라우저 / IP정보 등 환경 정보를 통해 동시 접속된 사용자가 있는지,
      기타 사용자 환경 변경을 감지해 재인증을 받거나 본인확인
  ④ 온라인 쇼핑사이트에서의 FDS 활용: 간편결제가 보편화된 해외 온라인 쇼핑사이트들은 계정 도용으로 인한 위험이 높음.
      따라서 등록된 카드정보로 물건을 구매 시, 사용자 정보나 구매 패턴에 따른 재인증 등을 함.
  ⑤ 통계 데이터를 이용한 위험도 분석: 이상 거래에 대한 데이터를 축적하여 이상거래에 사용된 카드, 청구지 주소, IP 주소, 거래품목 등을 분석하여
      이상거래탐지에 적용함.

- FDS 사고 분류 방법
  사고 분류 알고리즘은 데이터 분석을 통해 룰(Rule)이나 모형(Model)의 형태로 개발 됨.
  룰은 해당 결제 건이 특정 조건에 해당될 경우 사고로 추정하고, 모형은 해당 결제 건이 사고일 확률을 계산하여 해당 결제 위험도를 나타냄.
  최근에는 모형 개발을 통해 FDS를 구축하고 있음.
  일반적으로 전체 신용카드 결제에서 사고가 발생하는 비율은 0.001% 미만이므로 FDS가 이상거래를 정확하게 분류하는 것은 정말 어려움.
  때문에 정상 결제를 사고 결제로 잘못 인식하는 비율이 높을 수 밖에 없음.

FDS 모형 개발 프로세스 (출처: lgcns 블로그)
  ① 사고 시나리오 정의: 기존의 사고 패턴을 분석하고 시스템의 취약점을 찾아내어 사고 시나리오를 정의함.
  ② 데이터 수집 및 전처리: 사고 시나리오에 관련된 데이터를 수집하고 분석에 필요한 형태로 전처리 함.
  ③ 데이터 분석 및 Factor 추출: 필요한 Factor들을 정의하고 학습을 통해 분석.
  ④ 모형 개발: 추출된 Factor를 이용해 이상거래를 분류하는 알고리즘을 머신러닝을 통해 개발함.
      결제 FDS의 경우 Supervised learning을 사용하고, 이외에도 Decision tree, Logit regression, Neural network, 앙상블 모델 등을 이용함.
  ⑤ 모형 검증 및 운영: 개발된 모형은 검증 데이터 셋을 이용해 성능 평가 및 검증을 함.
      모형의 변별력은 민감도, 정밀도, K-S factor 등의 지표를 이용해 평가할 수 있으며, 오버 피팅 문제가 발생하면 위의 과정을 다시 함.

- 결제 FDS
  결제 FDS는 실시간 처리 시스템과 데이터 프로파일링 시스템으로 구성되어 있음.
  실시간 처리 시스템은 승인 시스템으로부터 결제 정보를 받아, 해당 결제 건에 대한 사고를 추정하고 이를 운영 시스템에 송신하는 기능을 수행. 
  데이터 프로파일링 시스템은 통계 분석을 통해 실시간 처리 시스템에서 사용되는 프로파일 데이터를 제공함.


  ① 실시간 처리 시스템은 큐잉 시스템과 스트림 처리 시스템, 그리고 룰/모형 엔진으로 구성됨.
      큐잉 시스템은 승인시스템을 비롯한 외부 시스템으로부터 데이터를 송수신하는 기능.
      스트림 처리 시스템은 데이터를 분해 및 연산을 처리하며 주로 Storm, Spark 기술이 사용됨.
      룰/모형 엔진은 결제에 대해 사고 여부를 추정하는 알고리즘을 수행.

  ② 데이터 프로파일링 시스템은 통계/분석 시스템을 이용해 룰/모형 엔진의 연산에 필요한 DB를 생성함. 
      다양한 데이터 소스에서 온 데이터를 이용해 통계/분석 작업을 수행하므로 대용량 데이터 처리를 할 수 있어야 함. 보통 R 등을 이용함.

* 출처
- http://privacyblog.naver.com/220247171898
- http://blog.lgcns.com/846


2. FIDO (Fast IDentity Online)
- 구글, MS, 인텔 등 250여개의 기업들이 FIDO 연합체를 구성하고 생체기반 인증, 소유기반 인증 등 다양한 인증 수단을 지원하는 FIDO 기술을 개발함.
FIDO 아키텍쳐
- 인증 과정
  ① 앱은 결제 승인을 위해 사용자 인증을 요청. 예를 들어, 간편결제 서비스를 이용하기 위해 지문 인증을 요청함.
  ② 앱은 응용 서버에 FIDO 인증을 요청하면 서버는 FIDO 서버에 FIDO 인증 요청 메시지를 요청함.
  ③ FIDO 서버는 FIDO 인증 요청 메시지를 생성하여 FIDO 클라이언트에 전달.
  ④ FIDO 클라이언트는 FIDO 인증 요청 메시지에 포함된 정보로 지문 인증장치를 호출하고, 사용자가 지문을 입력하여 사용자 인증을 성공하면,
      지문 인증장치는 등록 프로토콜을 수행할 당시에 생성된 개인키를 이용해 전자서명을 생성.
  ⑤ 지문 인증장치는 전자서명이 포함된 FIDO 인증 응답 메시지를 FIDO 서버에 전달.
  ⑥ FIDO 서버는 등록 프로토콜을 수행할 당시에 저장된 공개키를 이용하여 전자서명을 확인하고 인증 결과를 전달.

- 적용사례
  ① 삼성페이의 FIDO 기반 지문인증 기술
  ② 신한은행의 모바일 뱅킹 플랫폼(써니뱅크) FIDO 생체인증 서비스
  ③ 일본 도코모의 FIDO 기반 홍채인식 스마트폰 출시(게임회사 로그인 및 결제에 적용)
  ④ 애플 아이폰애 터치 지문인식 기술 포스터치(Force Touch)를 적용

* 출처
- 2016.03 ETRI 인증기술연구실 FIDO 표준 기술 동향
- http://www.healthcarekorea.com/2016_21th/pdf/02_raon.pdf


3. APT (Advanced Persistent Threats, 지능적 지속 위협)
- 불특정 다수가 아닌 특정 조직, 개인과 같이 명확한 공격 목표를 가지고 일반적인 공격이 단기간에 공격을 하는 반면
  APT는 공격 대상이 공격 여부를 판단할 수 없을 정도로 장기적으로 신중하게 계획에 따라 진행되므로 공격 대상은 어떤식으로 공격이 이루어졌는지 판단이 힘듬.
  또한 공격 주체는 드러나지 않고 우회하는 공격이 이루어지는 경우가 많고, 대부분의 공격이 공격에 드는 비용이 증가할수록 공격을 포기하지만
  APT는 비용에 관계없이 목적이 달성될때까지 공격을 지속하는 경우가 많음.
  공격대상이 정해지면 충분한 정보를 수집하고 이를 바탕으로 워터링 홀, 스피어 피싱 등 사회공학적 공격 기법을 통해 공격 확률을 높임.
  최신 보안기술을 우회하기 위하여 제로데이 취약점(취약점이 알려지고 난 후 보안패치가 나올 때까지 시간차를 이용해 공격하는 기법)과 같은 알려지지 않은 공격기법으로 접근을 하기 때문에 원천적으로 차단할 수는 없음.

- 공격 과정
  침입 → 탐색(검색) → 수집 → 유출
- 대응
  ① 사이버 킬 체인(정찰 -> 무기화 -> 전달 -> 취약점 공격 -> 설치 -> 명령과 제어 -> 행동) 단계별 방어전략 수립을 통해서 공격을 약화시키고
      침해사고 발생 시 영향도를 최소화 하는 것이 현실적인 방안.
  ② 취약점 관리 활동을 강화하고 기존 방어적인 전략에서 벗어나 공격적으로 취약점을 찾아내고 제거하는 Offensive Security 개념을 도입하여
      공격 단면적을 최소화 할 수 있는 방안을 수립해야 함.
      결론적으로 기술적 통제수단에 의존하기 보다는 지속적인 모니터링과 리스크 관리 활동을 병행해서 수행함으로서
      공격의 영향도를 최소화 할 수 있는 전략을 세워야 함.

* 사이버 킬 체인
군수업체 록히드마틴에서 만든 것으로 적의 침입을 모형화할 때 사용한 '킬체인(Kill Chain) 개념을 이용한 것.
'정찰 -> 무기화 -> 전달 -> 취약점 공격 -> 설치 -> 명령과 제어 -> 행동' 과 같은 단계로 나뉘며, 보안 분야에서 공격자가 조직을 공격할 때 쓰는 방법을 7개의 단계로 정의한 모델임.
7단계 사이버 킬체인 중 한 단계를 방어하면 APT 공격을 방해할 수 있다고 함.

위 그림의 출처 논문에서는 각 단계에서의 보안 대책을 탐지(Detect), 차단(Deny), 방해(Disrupt), 완화(Degrade), 속임(Deceive), 파괴(Destroy) 여섯 종류로 분류하고, 각각에 해당하는 솔루션을 예시해 놓음.


4. Exploit 공격
- SW 또는 HW의 설계상 보안 취약점을 이용한 공격 방법으로 공격 대상의 제어권한 획득, DoS 등을 목적으로 함.


5. 망분리
물리적 망분리, 서버가상화기반 망분리, 클라이언트기반 망분리로 구축할 수 있음
- 물리적 망분리: 2대의 PC를 업무용 PC와 인터넷용 PC로 나눔. 근본적으로 분리되었기 때문에 보안성이 매우 높음.
  해커의 직접적인 접근을 차단하지만 도입 비용이 높고 스마트 오피스가 불가능 함.
  군대 같은 곳에서 이러한 방식을 사용할 수 있음.
- 서버가상화 기반 망분리(SBC): 인터넷망은 서버를 통해 접근하고, 업무망은 PC로 분리함. 물론 반대로 업무망을 서버로, 인터넷망을 PC로 할수도 있음.
  서버를 통해 인터넷을 하므로 보안성은 높고, 도입 비용은 서버와 가상화 솔루션 만큼 필요함. 스마트 오피스가 가능하고 중앙에서 보안을 담당함.
  다수의 사용자가 서버에 접근시 성능저하가 우려됨.
- 클라이언트기반 망분리(CBC): PC 부분 가상화를 통해 인터넷영역과 업무영역을 분리함. 도입 비용이 최소화되고 쉽고 간편하게 설치가 가능함.


6. 랜섬웨어 (Ransomware)
- 악성 프로그램의 일종으로 컴퓨터 사용자의 문서를 볼모로 잡고 돈을 요구한다고 해서 랜섬(Ransom, 인질)이라는 수식어가 붙음.
  즉, 랜섬웨어에 감염된 경우, 사용자 컴퓨터에 저장된 문서, 그림 파일 등을 암호화해 열지 못하도록 하고,
  돈을 보내주면 해독용 열쇠 프로그램을 전송해 준다며 금품을 요구하는 범죄임.
- 최신에는 모바일 랜섬웨어도 유행함.
- 감염과정
  ① 메일을 통한 랜섬웨어 감염은 속도위반, 범칙금 공지 등 이메일을 통해 전파되며 첨부파일을 실행할 경우 감염됨.
  ② 랜섬웨어가 동작할 때는 “윈도우 보안경고” 같은 메시지가 나타나며, 동일한 증상이 발생하면 PC를 종료해야 함.
  ③ 랜섬웨어 감염 후 PC가 재 부팅되고, 감염된 파일들을 실행하면 파일복원을 위해 지불하라는 메시지가 뜸.
  ④ 랜섬웨어에 의해 암호화된 파일은 다시 복구되기 어렵고, 대가를 지불해도 공격자가 파일 복구준다는 보장이 없음.
- 대응
  ① 랜섬웨어에 감염된 것을 발견하면 즉시 백신 프로그램으로 컴퓨터를 검사하여야 함.
  ② 전세계에서 문제가 발생하다 보니 랜섬웨어 종류마다 다르겠지만 카스퍼스키 같은 백신회사에서 랜섬웨어 파일 삭제 및 데이터복구에 도움이 되는 툴이 개발함.
  ③ 중요 데이터의 경우 외장하드 및 클라우드 웹하드 서비스에 따로 백업 해두어야 함.
  ④ 보안 업데이트를 항상 받고, 인터넷 브루어져를 최신 버전으로 업데이트 해야 함.
  ⑤ 출처가 불분명한 메일의 첨부파일의 열람을 하지 말것.
  ⑥ 모바일 랜섬웨어의 경우 안전모드 부팅을 통한 제거, ADB(안드로이드 디버그 브릿지)를 이용한 제거 등을 이용함.


7. Drive by Download 공격
- 개요: 보안이 취약한 홈페이지를 공격자가 변조해, OS 및 인터넷 브라우저, 응용프로그램 등 다양한 프로그램의 취약점을 이용하는 악성코드를 심어놓고,
  해당 홈페이지를 방문하는 사용자 중 해당 취약점에 대한 보안 패치가 되지 않은 사용자의 PC가 자연스럽게 악성코드에 감염되게하는 공격.
  즉, 웹사이트에 접속했을 뿐인데 사용자 컴퓨터의 보안 취약점을 통해 악성 코드가 다운로드 되게 하는 공격.
- 감염 경로: 다양한 감염 경로로 감염됨. 인터넷 광고를 클릭하면 스크립트에 의해 악성 코드가 다운로드 되기도 하며,
  경우에 따라서는 사용자들의 심리적인 행동을 예측하여 바이러스가 발견되었으니 무료로 치료를 하라고 사용자의 다운로드 동의를 요청하는 팝업 형태도 있음.
  요즘 유행하는 랜섬웨어 공격이 주로 드라이브 바이 다운로드를 통해 퍼짐..
- 감염 결과: 공인인증서를 유출, DNS 정보 조작을 통해 공격자가 유도하는 웹 사이트로 접속가능. 금융거래 정보 유출 등.
- 대응:
  ① 의심되는 웹사이트 방문 자제
  ② OS 및 브라우저, 응용프로그램 최신 버전 유지 및 보안 패치 적용
  ③ 백신 프로그램 최신버전 유지 및 주기적 검사

댓글 없음:

댓글 쓰기