웨일 보안 이야기
조상현 

Security
보다 안전한 웹 서핑을 위해
CONTENTS
1. 안전한 웹 서핑을 위한 보안 기능

2. 웨일 브라우저 제품 보안 강화
1.

안전한 웹 서핑을 위한 보안 기능
1.1 싱크데이터 보안
네이버 계정이 털렸다!!
Master Key?
family00
family01
family.1
qwerty
poiuyt.12
0xe1f3f4a…
0x73bc52e…
0x4e5e373…
0x3c8b8ea…
0xe33188a…
치ㅐ cloud storageplaintext vault encrypted vault
출처: R. Chatterjee, Craking-Resistant Password Vaults Using Natural Language Encoders
stealing vault
1.1 싱크 데이터 보안
안전하게 비밀번호를 저장하자
1.1 싱크 데이터 보안
네이버 이용자마다 다른 암호키로 비밀번호를 암호화하여 저장하고, 이를 싱크

암호키는 주기적으로 갱신함
1.2 세이프 브라우징
이용자들이 웹 서핑 중에 악성코드에 감염되지 않는 이상적인 세상
1.2 세이프 브라우징
Drive-by-download attack
HTML Redirection을 통해 공격 페이지로 이동하여 악성코드 설치, 실행됨
출처: Dell, Blackhole Exploit Kit: Rise & Evolution
1.2 세이프 브라우징
보안 취약점을 전혀 갖고 있지 않은 PC가 있을까?
1.2 세이프 브라우징
CVE (Common Vulnerability Exposures)
출처 : http://www.cvedetails.com
1.2 세이프 브라우징
Exploit Kit
셋업 파일, 제어 콘솔, 악성코드 등 각종 공격툴을 모아 놓은 패키지

다양한 보안 취약점에 의해 공격을 받고 최종 악성코드가 실행될 수 있는 구조
출처 : https://www.recordedfuture.com/top-vulnerabilities-2016
1.2 세이프 브라우징
Malware As a Service (MAAS)
1.2 세이프 브라우징
OO News
로그 분석 모듈 변조 : 해킹한 서버의 rook.html를 Iframe으로 로딩

root.html : 통계 집계 스크립트 실행 및 koder.html 로딩

koder.html : ko1.htm, ko2.htm 등을 로딩함
1.2 세이프 브라우징
iframe 등이 난독화되어 포함되어 있음
출처: Dell, Blackhole Exploit Kit: Rise & Evolution
1.2 세이프 브라우징
False Positive 0%
악성코드 감염이 확실하지 않으면 차단하지 않는다
1.2 세이프 브라우징
네이버의 아웃링크에서 

악성코드가 유포될 수 있는 지 

점검하는 시스템
1.2 세이프 브라우징
현실은
치고 빠지기를 잘하는 공격자

자동화된 분석 시스템을 예상하는 공격자
1.2 세이프 브라우징
DGA (Domain Generation Algorithm)
C&C, Ransomware 유포등에 이용할 서버가 blacklist(sinkhole)로 차단되는 것을 막기 위해

IP Address가 아닌 도메인 주소 이용

악성코드 내부의 자동 생성 모듈에서 도메인 주소 생성

1.2 세이프 브라우징
자동 분석 시스템 우회 : setTimeout
1.2 세이프 브라우징
그래서,
신뢰할 수 있는 DB를 최대한 모아 보자 

- 구글 세이프브라우징 DB는 기본

- 네이버 내에서 운용하고 있는 다양한 종류의 악성 사이트/파일 분석 시스템

- 가능한 선에서 신속하게 업데이트하자

자체적인 분석 시스템을 만들어보자
1.2 세이프 브라우징
URL 검사
검사 대상 URL은 현재는 Chrome과 동일
1.2 세이프 브라우징
다운로드 파일 검사
임시공간에 저장된 파일의 해시값을 웨일 세이프 브라우징 서버에 전달하여 검사 결과 수신

악성 파일 해시 DB
1.3 피싱(phishing) 탐지 및 대응
네이버 로그인 피싱 페이지 찾기
https://national500apps.com/plugin/nicci/nav.html
2017. 9. 16 pm 14:00
1.3 피싱(phishing) 탐지 및 대응
이 사이트는 2017.10.11 pm 18:30 까지도 웨일 브라우저외 타 브라우저에서는 차단되지 않고 있음
1.3 피싱(phishing) 탐지 및 대응
Image-based Phishing Detection Framework
Hyunsang Choi, Sanghyun Cho and Younggab Kim,

Image-based Phishing Detection Framework

USENIX 2017 Poster Session
페이지내에 키워드 매칭 후, 브랜드로고, 입력폼 이미지 매칭 

실험 결과 : Detection Rate (96%), False Positive (0%), False Negative (4%)
1.4 파밍(pharming) 탐지 및 대응
파밍 (pharming)
PC내의 hosts 파일이 변조되거나

네트워크 설정에서 DNS설정 정보 변경 (공유기 해킹)
1.4 파밍(pharming) 탐지 및 대응
Content Injection
악성코드 설치나, 특정 광고 노출을 목표로 함
1.4 파밍(pharming) 탐지 및 대응
공유기 해킹 사례
모바일 기기에서도 악성 앱 설치로 이어짐
1.4 파밍(pharming) 탐지 및 대응
범죄 활용 사례
2016년 2월부터 약 4개월 동안 

이용자 스마트폰 내 문자 정보 탈취 기능이 포함된 악성앱을 설치하게끔 유도

13,502대의 스마트폰을 감염시켜 11,256개 네이버 계정 대량 가입

이를 바이럴마케팅 업자에게 판매하여 지식iN, 블로그등에 글 게시에 활용함.
1.4 파밍(pharming) 탐지 및 대응
네이버 앱 파밍 탐지
2016년 6월, 1일 최고 5천명이 가짜 네이버 페이지로 연결됨
1.4 파밍(pharming) 탐지 및 대응
이 페이지가 가짜임을 어떻게 알 수 있을까?
1.4 파밍(pharming) 탐지 및 대응
아이디어들
서로 다른 도메인을 Domain Name Lookup 했을때 같은 결과가 나오면 파밍
1.4 파밍(pharming) 탐지 및 대응
HTTP Strict Transport Security (HSTS) : RFC 6797
Response Header에 HSTS가 포함되어 있을 경우, 

브라우저에서 사이트 이동시 http 사이트가 아닌 https로 접속되게 함
1.4 파밍(pharming) 탐지 및 대응
HSTS Preload
브라우저 자체적으로 HSTS 리스트를 가지고 있어, 사이트 이동시 https로 접속함

https://chromium.googlesource.com/chromium/src/net/+/refs/heads/master/
http/transport_security_state_static.json
2017년 9월 16일 현재, 

35657개의 도메인이 등록됨

(.kr도메인은 10여개)
1.4 파밍(pharming) 탐지 및 대응
DNScrypt
브라우저에서 안전하게 DNS Server와 연결될 수 있다면?

DNS서버와의 통신채널을 암호화하여 DNS 스푸핑이나 파밍과 같은 공격을 방어하는 기술

vs. DNSSEC (DNS 응답의 무결성을 공개키 암호화로 검증)
2.

웨일 브라우저 제품 보안 강화
2.1 보안 취약점 분석 및 해결
보안 취약점 분석 방법
보안 검수 (소스코드, 기능)

외부 보안 취약점 컨설팅

해킹 시나리오 자체 검증
2.1 보안 취약점 분석 및 해결
공격의 빌미를 제공하지 말자!
2.1 보안 취약점 분석 및 해결
보안 취약점 분석
자동 업데이트 

- MITM(Man-In-The-Middle) Attack 가능성 분석 

- Digital Signature 검증

기본 탑재 extensions 점검

세이프 브라우징, 안티파밍, 스마트팝업 점검

주요 정보 노출 

- 사용자 동기화 정보 복호화 및 유출 가능성

웨일 브라우저 내 오픈소스 라이브러리 취약점 분석 (Blink, V8등)
2.1 보안 취약점 분석 및 해결
V8 보안 취약점 발견 !!
2.2 Bug-Bounty Program
A deal offered by many websites and software developers by which individuals can
receive recognition and compensation for reporting bugs, especially those
pertaining to exploits and vulnerabilities.
2.2 Bug-Bounty Program
네이버 제품(서비스) 중 최초로 실시
2017.9.18 ~ 10.15
2.2 Bug-Bounty Program
버그 바운티의 효과 [USENIX 2013]
Chrome VRP : $580,000 (3years, 501 bounties)

Firefox VRP : $570,000 (3years, 190 bounties) 

자체 발굴 비용보다 1/2~1/3 비용
2.2 Bug-Bounty Program
버그 바운티의 효과
중대한 취약점이 해킹 컨테스트를 

통해 발견되기도 한다.
2.2 Bug-Bounty Program
발견된 보안 취약점
2.2 Bug-Bounty Program
포상금
2.2 Bug-Bounty Program
운영 후기
1개월은 너무 짧음. 그러나..

프로그램 진행을 충분히 알리지 못함.

미처 신경 쓰지 않은 부분에 대한 제보

실력있는 분석가들도 관심을 가졌으나, 그들은“소스코드” 공개를 원함.

웨일이 아닌 네이버 서비스의 보안 취약점 위주로 제보한 제보자

국내보다는 국외에서 관심 (56.4%), IP기준 1500여명 추정

포상금을 올리는 방안, 기부(x2)도 가능하게
2.2 Bug-Bounty Program
향후 진행 방향
웨일 브라우저 버그 바운티 프로그램의 상시화

네이버 서비스 버그 바운티로의 확대
2.3 익스텐션 보안 검수
익스텐션 보안 검수를 해야겠는데
체크리스트는 어떻게 만들어야 할까?

크롬 익스텐션의 개발 정책? 가이드라인?

크롬 익스텐션은 어떻게 검수를 하고 있을까?
2.3 익스텐션 보안 검수
Google Chrome : Developer Program Policies
Contents Policies

Security Vulnerabilities

Spam and Placement

User Data Privacy

Payment Information, Authentication Information, Web Browsing Activity

Ads

https://developer.chrome.com/webstore/program_policies?csw=1#extensions
2.3 익스텐션 보안 검수
Developer Program Policies
Security Vulnerabilities

If your item is associated with a security vulnerability that could be exploited to compromise
another application, service, browser, or system, 

we may remove your item from the Chrome Web Store and take other measures to protect users.
In such an event, you may be contacted about remediation steps required to restore the item.
2.3 익스텐션 보안 검수
Deceptive extensions : AD Injection
2.3 익스텐션 보안 검수
악성 크롬 익스텐션 사례
- 주요 사이트(google, yahoo)에서 광고 노출

- 게임으로 위장하여 설치할 경우 검색엔진을 강제로 바꿔버림

- 모든 URL에 대해 content security policy등 security header 제거 

- 중요한 쿠키를 개인 서버로 보냄 

- 특정 사이트에 버튼을 만들고 클릭시 uid, name등을 개인 서버로 전송

- 특정 SNS 사이트 방문시, 공격자의 서버로 부터 명령을 수신하여 실행함

- HTML 파일내에서 주요 정보를 파싱하여 전송

- png파일내에 자바스크립트를 은닉하여 실행
2.3 익스텐션 보안 검수
구글의 크롬 익스텐션 검수는 어떻게 할까?
상상할 수 있는 악성 익스텐션을 하나씩 스토어에 등록해 봄
2.3 익스텐션 보안 검수
Experimental #5
2.3 익스텐션 보안 검수
Experimental #7
2.3 익스텐션 보안 검수
웨일 익스텐션 보안 검수
아직은 한땀 한땀 사람 손으로 수행하지만, 가능한 부분에서 자동화 진행 중 

어떤 부분에서 업데이트가 있는지
2.3 익스텐션 보안 검수
웨일 익스텐션 보안 검수
manifest.json 파일에 명시된 권한 기준으로 위험도 점수화

blacklist url이 포함되어 있는가?

난독화되어 있는가?

동적 분석 

- 트래픽이 과도하게 발생하는가?

- 모든 URL에 스크립트를 추가하려고 하는가? 등
2.3 익스텐션 보안 검수
웨일 익스텐션 보안 검수 사례
보다 안전한 웹 서핑을 위해

웨일 보안은 현재 진행중입니다.
Q & A
Thank you

웨일 보안 이야기

  • 1.
  • 2.
    보다 안전한 웹서핑을 위해
  • 3.
    CONTENTS 1. 안전한 웹서핑을 위한 보안 기능 2. 웨일 브라우저 제품 보안 강화
  • 4.
    1. 안전한 웹 서핑을위한 보안 기능
  • 5.
  • 7.
    Master Key? family00 family01 family.1 qwerty poiuyt.12 0xe1f3f4a… 0x73bc52e… 0x4e5e373… 0x3c8b8ea… 0xe33188a… 치ㅐ cloudstorageplaintext vault encrypted vault 출처: R. Chatterjee, Craking-Resistant Password Vaults Using Natural Language Encoders stealing vault
  • 8.
    1.1 싱크 데이터보안 안전하게 비밀번호를 저장하자
  • 9.
    1.1 싱크 데이터보안 네이버 이용자마다 다른 암호키로 비밀번호를 암호화하여 저장하고, 이를 싱크 암호키는 주기적으로 갱신함
  • 10.
    1.2 세이프 브라우징 이용자들이웹 서핑 중에 악성코드에 감염되지 않는 이상적인 세상
  • 11.
    1.2 세이프 브라우징 Drive-by-downloadattack HTML Redirection을 통해 공격 페이지로 이동하여 악성코드 설치, 실행됨 출처: Dell, Blackhole Exploit Kit: Rise & Evolution
  • 12.
    1.2 세이프 브라우징 보안취약점을 전혀 갖고 있지 않은 PC가 있을까?
  • 13.
    1.2 세이프 브라우징 CVE(Common Vulnerability Exposures) 출처 : http://www.cvedetails.com
  • 14.
    1.2 세이프 브라우징 ExploitKit 셋업 파일, 제어 콘솔, 악성코드 등 각종 공격툴을 모아 놓은 패키지 다양한 보안 취약점에 의해 공격을 받고 최종 악성코드가 실행될 수 있는 구조 출처 : https://www.recordedfuture.com/top-vulnerabilities-2016
  • 15.
  • 16.
    1.2 세이프 브라우징 OONews 로그 분석 모듈 변조 : 해킹한 서버의 rook.html를 Iframe으로 로딩 root.html : 통계 집계 스크립트 실행 및 koder.html 로딩 koder.html : ko1.htm, ko2.htm 등을 로딩함
  • 17.
    1.2 세이프 브라우징 iframe등이 난독화되어 포함되어 있음 출처: Dell, Blackhole Exploit Kit: Rise & Evolution
  • 18.
    1.2 세이프 브라우징 FalsePositive 0% 악성코드 감염이 확실하지 않으면 차단하지 않는다
  • 19.
    1.2 세이프 브라우징 네이버의아웃링크에서 악성코드가 유포될 수 있는 지 점검하는 시스템
  • 20.
    1.2 세이프 브라우징 현실은 치고빠지기를 잘하는 공격자 자동화된 분석 시스템을 예상하는 공격자
  • 21.
    1.2 세이프 브라우징 DGA(Domain Generation Algorithm) C&C, Ransomware 유포등에 이용할 서버가 blacklist(sinkhole)로 차단되는 것을 막기 위해 IP Address가 아닌 도메인 주소 이용 악성코드 내부의 자동 생성 모듈에서 도메인 주소 생성

  • 22.
    1.2 세이프 브라우징 자동분석 시스템 우회 : setTimeout
  • 23.
    1.2 세이프 브라우징 그래서, 신뢰할수 있는 DB를 최대한 모아 보자 - 구글 세이프브라우징 DB는 기본 - 네이버 내에서 운용하고 있는 다양한 종류의 악성 사이트/파일 분석 시스템 - 가능한 선에서 신속하게 업데이트하자 자체적인 분석 시스템을 만들어보자
  • 24.
    1.2 세이프 브라우징 URL검사 검사 대상 URL은 현재는 Chrome과 동일
  • 25.
    1.2 세이프 브라우징 다운로드파일 검사 임시공간에 저장된 파일의 해시값을 웨일 세이프 브라우징 서버에 전달하여 검사 결과 수신 악성 파일 해시 DB
  • 26.
    1.3 피싱(phishing) 탐지및 대응 네이버 로그인 피싱 페이지 찾기
  • 27.
  • 28.
    1.3 피싱(phishing) 탐지및 대응 이 사이트는 2017.10.11 pm 18:30 까지도 웨일 브라우저외 타 브라우저에서는 차단되지 않고 있음
  • 29.
    1.3 피싱(phishing) 탐지및 대응 Image-based Phishing Detection Framework Hyunsang Choi, Sanghyun Cho and Younggab Kim, Image-based Phishing Detection Framework USENIX 2017 Poster Session 페이지내에 키워드 매칭 후, 브랜드로고, 입력폼 이미지 매칭 실험 결과 : Detection Rate (96%), False Positive (0%), False Negative (4%)
  • 30.
    1.4 파밍(pharming) 탐지및 대응 파밍 (pharming) PC내의 hosts 파일이 변조되거나 네트워크 설정에서 DNS설정 정보 변경 (공유기 해킹)
  • 31.
    1.4 파밍(pharming) 탐지및 대응 Content Injection 악성코드 설치나, 특정 광고 노출을 목표로 함
  • 32.
    1.4 파밍(pharming) 탐지및 대응 공유기 해킹 사례 모바일 기기에서도 악성 앱 설치로 이어짐
  • 33.
    1.4 파밍(pharming) 탐지및 대응 범죄 활용 사례 2016년 2월부터 약 4개월 동안 이용자 스마트폰 내 문자 정보 탈취 기능이 포함된 악성앱을 설치하게끔 유도 13,502대의 스마트폰을 감염시켜 11,256개 네이버 계정 대량 가입 이를 바이럴마케팅 업자에게 판매하여 지식iN, 블로그등에 글 게시에 활용함.
  • 34.
    1.4 파밍(pharming) 탐지및 대응 네이버 앱 파밍 탐지 2016년 6월, 1일 최고 5천명이 가짜 네이버 페이지로 연결됨
  • 35.
    1.4 파밍(pharming) 탐지및 대응 이 페이지가 가짜임을 어떻게 알 수 있을까?
  • 36.
    1.4 파밍(pharming) 탐지및 대응 아이디어들 서로 다른 도메인을 Domain Name Lookup 했을때 같은 결과가 나오면 파밍
  • 37.
    1.4 파밍(pharming) 탐지및 대응 HTTP Strict Transport Security (HSTS) : RFC 6797 Response Header에 HSTS가 포함되어 있을 경우, 브라우저에서 사이트 이동시 http 사이트가 아닌 https로 접속되게 함
  • 38.
    1.4 파밍(pharming) 탐지및 대응 HSTS Preload 브라우저 자체적으로 HSTS 리스트를 가지고 있어, 사이트 이동시 https로 접속함 https://chromium.googlesource.com/chromium/src/net/+/refs/heads/master/ http/transport_security_state_static.json 2017년 9월 16일 현재, 35657개의 도메인이 등록됨 (.kr도메인은 10여개)
  • 39.
    1.4 파밍(pharming) 탐지및 대응 DNScrypt 브라우저에서 안전하게 DNS Server와 연결될 수 있다면? DNS서버와의 통신채널을 암호화하여 DNS 스푸핑이나 파밍과 같은 공격을 방어하는 기술 vs. DNSSEC (DNS 응답의 무결성을 공개키 암호화로 검증)
  • 40.
  • 41.
    2.1 보안 취약점분석 및 해결 보안 취약점 분석 방법 보안 검수 (소스코드, 기능) 외부 보안 취약점 컨설팅 해킹 시나리오 자체 검증
  • 42.
    2.1 보안 취약점분석 및 해결 공격의 빌미를 제공하지 말자!
  • 43.
    2.1 보안 취약점분석 및 해결 보안 취약점 분석 자동 업데이트 - MITM(Man-In-The-Middle) Attack 가능성 분석 - Digital Signature 검증 기본 탑재 extensions 점검 세이프 브라우징, 안티파밍, 스마트팝업 점검 주요 정보 노출 - 사용자 동기화 정보 복호화 및 유출 가능성 웨일 브라우저 내 오픈소스 라이브러리 취약점 분석 (Blink, V8등)
  • 44.
    2.1 보안 취약점분석 및 해결 V8 보안 취약점 발견 !!
  • 45.
    2.2 Bug-Bounty Program Adeal offered by many websites and software developers by which individuals can receive recognition and compensation for reporting bugs, especially those pertaining to exploits and vulnerabilities.
  • 46.
    2.2 Bug-Bounty Program 네이버제품(서비스) 중 최초로 실시 2017.9.18 ~ 10.15
  • 47.
    2.2 Bug-Bounty Program 버그바운티의 효과 [USENIX 2013] Chrome VRP : $580,000 (3years, 501 bounties) Firefox VRP : $570,000 (3years, 190 bounties) 자체 발굴 비용보다 1/2~1/3 비용
  • 48.
    2.2 Bug-Bounty Program 버그바운티의 효과 중대한 취약점이 해킹 컨테스트를 통해 발견되기도 한다.
  • 49.
  • 50.
  • 51.
    2.2 Bug-Bounty Program 운영후기 1개월은 너무 짧음. 그러나.. 프로그램 진행을 충분히 알리지 못함. 미처 신경 쓰지 않은 부분에 대한 제보 실력있는 분석가들도 관심을 가졌으나, 그들은“소스코드” 공개를 원함. 웨일이 아닌 네이버 서비스의 보안 취약점 위주로 제보한 제보자 국내보다는 국외에서 관심 (56.4%), IP기준 1500여명 추정 포상금을 올리는 방안, 기부(x2)도 가능하게
  • 52.
    2.2 Bug-Bounty Program 향후진행 방향 웨일 브라우저 버그 바운티 프로그램의 상시화 네이버 서비스 버그 바운티로의 확대
  • 53.
    2.3 익스텐션 보안검수 익스텐션 보안 검수를 해야겠는데 체크리스트는 어떻게 만들어야 할까? 크롬 익스텐션의 개발 정책? 가이드라인? 크롬 익스텐션은 어떻게 검수를 하고 있을까?
  • 54.
    2.3 익스텐션 보안검수 Google Chrome : Developer Program Policies Contents Policies Security Vulnerabilities Spam and Placement User Data Privacy Payment Information, Authentication Information, Web Browsing Activity Ads https://developer.chrome.com/webstore/program_policies?csw=1#extensions
  • 55.
    2.3 익스텐션 보안검수 Developer Program Policies Security Vulnerabilities If your item is associated with a security vulnerability that could be exploited to compromise another application, service, browser, or system, we may remove your item from the Chrome Web Store and take other measures to protect users. In such an event, you may be contacted about remediation steps required to restore the item.
  • 56.
    2.3 익스텐션 보안검수 Deceptive extensions : AD Injection
  • 57.
    2.3 익스텐션 보안검수 악성 크롬 익스텐션 사례 - 주요 사이트(google, yahoo)에서 광고 노출 - 게임으로 위장하여 설치할 경우 검색엔진을 강제로 바꿔버림 - 모든 URL에 대해 content security policy등 security header 제거 - 중요한 쿠키를 개인 서버로 보냄 - 특정 사이트에 버튼을 만들고 클릭시 uid, name등을 개인 서버로 전송 - 특정 SNS 사이트 방문시, 공격자의 서버로 부터 명령을 수신하여 실행함 - HTML 파일내에서 주요 정보를 파싱하여 전송 - png파일내에 자바스크립트를 은닉하여 실행
  • 58.
    2.3 익스텐션 보안검수 구글의 크롬 익스텐션 검수는 어떻게 할까? 상상할 수 있는 악성 익스텐션을 하나씩 스토어에 등록해 봄
  • 59.
    2.3 익스텐션 보안검수 Experimental #5
  • 60.
    2.3 익스텐션 보안검수 Experimental #7
  • 61.
    2.3 익스텐션 보안검수 웨일 익스텐션 보안 검수 아직은 한땀 한땀 사람 손으로 수행하지만, 가능한 부분에서 자동화 진행 중 어떤 부분에서 업데이트가 있는지
  • 62.
    2.3 익스텐션 보안검수 웨일 익스텐션 보안 검수 manifest.json 파일에 명시된 권한 기준으로 위험도 점수화 blacklist url이 포함되어 있는가? 난독화되어 있는가? 동적 분석 - 트래픽이 과도하게 발생하는가? - 모든 URL에 스크립트를 추가하려고 하는가? 등
  • 63.
    2.3 익스텐션 보안검수 웨일 익스텐션 보안 검수 사례
  • 64.
    보다 안전한 웹서핑을 위해 웨일 보안은 현재 진행중입니다.
  • 65.
  • 66.