Category Archives: Security

안전한 SSL/TLS를 운영하기 위해 알아야 하는 것들

안녕하세요. LINE에서 Security Engineering을 담당하고 있는 이지훈입니다. 제가 속한 팀은 업무 환경과 서비스 환경에서 사용되는 인프라를 더욱 안전하게 만들어가는 업무를 담당합니다. 그 일환으로 SSL/TLS 인증서 관리나 관련 가이드를 제공하는 활동도 하고 있습니다. 대규모 환경에서는 보안은 물론 클라이언트와의 호환성이나 서비스 환경도 고려해야 하는데요. 오늘은 이와 관련된 경험 중 일부를 공유할까 합니다.

TLS는, 브라우저 같은 클라이언트가 공개된 인터넷 망을 통해 웹서버와 커뮤니케이션할 때, 여러 가지 보안 메커니즘을 제공하여 원하는 상대와 안전하게 연결될 수 있도록 도와주는 인터넷 프로토콜입니다. 현재 널리 이용되는 TLS 프로토콜의 기술적인 요건은 RFC 2246(TLS 1.0), RFC 4346(TLS 1.1), RFC 5246(TLS 1.2) 등 링크를 통해 확인하실 수 있는데요. 현재 지속적으로 보안 수준을 높여가고 있습니다. 최근(2018.3.21) Proposed Standard로 정해진 TLS 1.3의 경우 이미 알려진 보안 문제에 대한 대응이 설계에 추가로 반영되었습니다.

대표적으로 HTTP가 SSL/TLS를 이용하여 HTTPS(HTTP over TLS)를 제공하고 있으며, SNMP, FTP 등 다양한 인터넷 프로토콜에서도 SSL/TLS가 쓰이고 있습니다. 본 포스팅에서는 nginx와 같은 웹서버를 이용하여 웹서비스를 제공하는 경우를 가정하고 이에 대한 안전한 설정과 고려 사항에 대해 이야기하고자 합니다.

독자 여러분께서는 각자의 필요에 따라 다음과 같이 본 포스팅을 활용하실 수 있습니다.

  • 기술적인 이해 없이도 설명에 따라 안전한 설정을 하고 싶다. → 포스팅 앞 부분, 바로 이어지는 ‘Step by Step’을 읽어보시기 바랍니다.
  • 내용을 좀 더 이해하고 싶다. → 포스팅 뒷부분까지 전부 읽고, 인용되어 있는 외부 링크나 용어까지 추가로 확인해 볼 것을 권해드립니다.

2018년 상반기 LINE Security Bug Bounty Program 결과

안녕하세요, LINE에서 보안 업무를 맡고 있는 이명재(MJ)라고 합니다.

2018년 상반기(1월 1일~6월 30일) 동안 진행된 LINE Security Bug Bounty 프로그램 결과를 여러분께 알려드리려고 합니다.
LINE Security Bug Bounty Program은 LINE이 제공하는 서비스에 잠재되어 있는 취약점에 대해 외부 보안 전문가들로부터 보고를 받고 문제점을 수정하여 더욱 안전한 서비스를 제공하는 데 목적이 있습니다.

LINE Security Bug Bounty Program 2017년도 운영 결과

안녕하세요, LINE에서 보안 업무를 맡고 있는 이명재(MJ)라고 합니다.

이번 글에서는 2017년(1월 1일~12월 31일) 동안 진행된 LINE Security Bug Bounty 프로그램을 뒤돌아보며, 여러분께 그 결과를 소개하려고 합니다.

대상 확대 및 기부 제도

‘LINE Security Bug Bounty Program’은 LINE이 제공하는 서비스에 잠재적으로 존재하는 취약점에 대해 외부의 보안 전문가들로부터 보고를 받아, 가급적 빨리 문제점을 수정함으로써 더욱 안전한 서비스를 제공하는 것을 목적으로 하고 있습니다. 지난 기사에서 소개한 바 있습니다만, 2017년에는 프로그램 대상을 확대하여 더욱 많은 보고를 받을 수 있었습니다. 또한 11월부터는 포상 대상자가 보상금을 기부할 수 있는 옵션을 제공하기 시작했습니다.

VoIP 오픈 소스 라이브러리인 PJSIP에서의 버퍼 오버플로우

안녕하세요. 보안실(애플리케이션 보안팀)에서 LINE 서비스의 보안 평가를 담당하고 있는 김영성(Facebook, Twitter)입니다.

이번 포스팅에서는 VoIP 오픈 소스 라이브러리인 PJSIP의 취약점(CVE-2017-16872, AST-2017-009)에 대해 다루고자 합니다. PJSIP는 표준 프로토콜인 SIP, SDP, RTP, STUN, TURN 및 ICE를 구현한 멀티미디어 통신 라이브러리입니다. IP-PBX, VoIP 게이트웨이 등에서 널리 사용되는 Asterisk 프레임워크에서도 PJSIP 기반으로 SIP 스택을 구현했습니다.

이번에 발견한 취약점은 64-bit 환경에서 클라이언트로부터 받은 SIP 요청을 처리할 때, signed int형을 unsigned long 형으로 변환하는 과정 중에, 정수의 부호 확장을 고려하지 않은 것이 원인이며, 결과적으로 이 취약점은 버퍼 오버플로우를 발생시킬 수 있습니다. 취약점을 확인한 후 PJSIP 개발팀에 문의했지만 보안 이슈를 제보할 수 있는 창구가 없어, Asterisk security 대응 창구제보했습니다. 이후 Asterisk의 개발자인 George Joseph씨와 패치에 대해 논의했고, pjproject 2.7.1 버전에 패치(PJSIP 패치, Asterisk 패치)가 적용되었습니다. 이 기회를 빌어 패치 작업을 진행해 주신 George씨께 감사드립니다.

LINE and Intertrust Security Summit 2017 Spring, Tokyo 개최 후기 1

안녕하세요? LINE 보안실의 Ichihara라고 합니다.

LINE이 제공하는 서비스의 보안 컨설팅, 계정 도용 및 어뷰징 대책, 인증 기술에 관한 조사/연구, 표준화 활동 등의 업무를 담당하고 있습니다. 오늘은 5월 17일에 LINE과 Intertrust사의 공동 주최로 열린 ‘LINE and Intertrust Security Summit 2017 Spring, Tokyo’ 행사 후기를 전해드리겠습니다.

이 포스팅은 후기 1편입니다. 2편은 여기에서 보실 수 있습니다.


LINE and Intertrust Security Summit 2017 Spring, Tokyo 개최 후기 2

안녕하세요? LINE 보안실의 Ichihara라고 합니다.

LINE이 제공하는 서비스의 보안 컨설팅, 계정 도용 및 어뷰징 대책, 인증 기술에 관한 조사/연구, 표준화 활동 등의 업무를 담당하고 있습니다. 오늘은 5월 17일에 LINE과 Intertrust사의 공동 주최로 열린 ‘LINE and Intertrust Security Summit 2017 Spring, Tokyo’ 행사 후기를 전해드리겠습니다.

이 포스팅은 행사 후기 2편으로, 1편은 여기서 보실 수 있습니다. 아직 1편은 보지 않으셨다면 1편 먼저 보시길 권장합니다.

2017년 상반기 LINE Security Bug Bounty Program 결과

대상 확대에 대하여

안녕하세요. LINE에서 보안 업무를 맡고 있는 이명재(MJ)라고 합니다.

이번 블로그에서는 2017년 상반기(1월 1일~6월 30일) 동안의 LINE Security Bug Bounty Program을 뒤돌아보며, 여러분께 그 결과를 소개하려고 합니다.
이 프로그램은 LINE이 제공하는 서비스에 잠재적으로 존재하는 취약점에 대해 외부의 보안 리서처분들로부터 리포트를 받아 가능한 빨리 문제점을 수정함으로써 더욱 안전한 서비스를 제공하는 것을 목적으로 하고 있습니다.

또한 ‘LINE Security Bug Bounty Program’이라는 이름으로 상시운영을 개시(2016년 6월 2일)한 이후, LINE 서비스의 성장에 발맞추어 2017년 4월 10일부터 LINE의 Chrome 버전, Windows 10 Mobile 버전과, LINE STORE, LINE NEWS, LINE MUSIC, LINE LIVE의 각 Web 사이트까지 프로그램 대상을 확대 추가했습니다.

https://linecorp.com/en/pr/news/en/2017/1713

LINE 광고 데이터 파이프라인 BigDB

시작하기 전에

안녕하세요, LINE에서 광고 데이터 처리 및 광고 플랫폼 개발 업무를 담당하고 있는 임종규, 신중훈입니다. 이번 블로그에서는 LINE 광고의 빅데이터를 처리하는 플랫폼인 BigDB를 구현하게 된 배경과 BigDB의 정의, 구조, 기능, Use case를 소개하고자 합니다.

BigDB를 구현하게 된 배경

여러 서비스의 DB 데이터가 서비스의 규모가 커짐에 따라서 분석 업무에 활용하기 어려워지고, 이를 해결하는 방안으로 빅데이터를 지원하는 여러 오픈 솔루션을 사용해 왔습니다. 서로 장단점을 가진 여러 형태의 오픈 솔루션을 업무의 요건

시작하기 전에

안녕하세요, LINE에서 BigDB 설계 및 클러스터 관리를 담당하고 있는 오왕진입니다. 이번 블로그에서는 LINE 광고의 빅데이터를 처리하는 데이터 파이프라인인 BigDB를 구현하게 된 배경과 BigDB의 정의, 구조, 기능, Use case를 소개하고자 합니다.

BigDB를 구현하게 된 배경

여러 서비스의 DB 데이터가 서비스의 규모가 커짐에 따라서 분석 업무에 활용하기 어려워지고, 이를 해결하는 방안으로 빅데이터를 지원하는 여러 오픈 솔루션을 사용해 왔습니다. 서로 장단점을 가진 여러 형태의 오픈 솔루션을 업무의 요건에 따라 적절히 사용하다 보면, 상황에 따라서 조금씩 아쉽거나 부족한 부분이 발생하기 마련입니다. 다양한 업무의 데이터 처리를 경험해 오면서, 데이터 처리의 업무를 공통화하기 위해서는 데이터의 수집/가공/재가공/조회 기능을 가능한 한 간편하고 일반적인 형태로 제공하는 것이 좋겠다고 판단했습니다.

BigDB 소개

BigDB란 무엇인가

BigDB는 LINE 광고의 빅데이터 처리 파이프라인으로, 데이터 수집, 가공, 재가공, 조회 등의 기능이 있습니다. LINE 광고의 분석 형태는 사용자가 광고에 노출이 되었을 경우 해당 이벤트를 받아서 즉시 처리하는 실시간 분석과 이벤트를 받아서 1시간이나 1일, 등록한 시간마다 처리하는 batch 분석으로 구분되어 있습니다. BigDB는 분석을 위해 데이터를 제공하고, 필요한 경우 시계열 데이터와 정적인 데이터를 Join하여 제공하는 등 데이터를 유연하게 제공할 수 있습니다.

2016년 LINE Security Bug Bounty Program 결과와 상시운영 소개

상시운영에 관하여

안녕하세요. LINE에서 보안 업무를 맡고 있는 이명재(MJ)라고 합니다.

먼저, ‘LINE Bug Bounty Program’에 대해서 처음 들어보신 분들은 이전의 소개 블로그2015년도 시험운영 결과 블로그를 먼저 읽어보시길 권장합니다.

이번 블로그에서는 2016년 ‘LINE Security Bug Bounty Program’을 뒤돌아보며, 여러분께 그 결과를 소개하려고 합니다. 이 프로그램은 외부의 엔지니어분들로부터 보고를 받은 서비스에 잠재적으로 존재하는 취약점에 대해 가능한 빨리 문제점을 수정함으로써 더욱 안전한 서비스를 제공하는 것을 목적으로 하고 있습니다.

먼저 2015년도에는 ‘LINE Bug Bounty Program’을 8월 24일부터 9월 23일까지 한정된 기간동안 시험적으로 실시했습니다. 이후 2016년에는 앞선 1개월 간의 시험운영에서의 경험을 바탕으로, 2016년에는 프로그램 내용의 개정, 리스크의 계속적인 관리를 주 목적으로 개선하였습니다. 또한 프로그램의 이용규약 보고폼, 보고내용의 판단기준, 여기에 상시운영을 전제로 한 운영체제 등 여러 가지 측면에서 개선을 준비하여, 2016년 6월 2일부터는 ‘LINE Security Bug Bounty Program’이란 이름으로 프로그램명을 변경하여 상시 운영하게 되었습니다.

LINE Security Bug Bounty 홈페이지 : https://bugbounty.linecorp.com/

LINE Bug Bounty 결과

버그바운티를 준비하면서

안녕하세요. LINE에서 보안 업무를 맡고 있는 이명재(MJ)라고 합니다. 이번 블로그에서는 지난 블로그에서 소개했던 것처럼 LINE이 처음으로 도전한 2015년도 LINE Bug Bounty Program(8/24-9/23)이 무사히 마감되어 그동안 어떻게 진행되었는지를 여러분께 공유하려고 합니다.

서비스에 잠재된 취약점을 신속하게 발견하고 수정하여 사용자에게 안전한 서비스를 제공하는 것이 이 프로그램의 취지였는데요. 프로그램을 준비하는 과정에서 회사 내 여러 부서의 도움을 받았습니다. 프로그램을 준비하면서 가장 필요했던 것은 경영진의 서포트와 멤버 구성이었습니다. 우선 경영진은 예산집행에 있어서 후원을 아끼지 않았습니다. 보통 기업들이 Bug Bounty Program을 진행하는 데 있어 가장 어려운 부분이 충분한 예산 편성과 자금 확보입니다. 하지만 LINE의 경영진은 장기적으로 서비스 안전성을 확보하는 것이 나중에 보안사고로 발생하는 손실비용보다 더 효과적임을 이해해 주었습니다. 보상금은 취약점을 기준으로 최소 금액을 정했고, 최대 금액은 취약점 1건당 20,000달러(USD)로 치명적인 취약점일수록 큰 상금으로 산정하여 적절한 보상이 이루어질 수 있게 준비하였습니다.