Category Archives: Security

iOS 코드 서명에 대해서

안녕하세요. LINE에서 AIR ARMOR 개발을 담당하고 있는 심민영입니다. AIR ARMOR는 LINE GAME PLATFORM 중 하나인 AIR를 구성하는 보안 솔루션 중 하나입니다.

이전 포스팅, ‘AIR GO에 안드로이드 9 APK 서명 scheme v3 적용하기‘에서는 승훈 님이 Android의 서명 구조인 APK Signing에 대해 설명드렸는데요. 저는 이번 포스팅에서 iOS의 보안 구조 중 하나인 ‘코드 서명’에 대해서 설명하려고 합니다. 코드 서명은 파일의 무결성을 검증하고 서명자(개발자)를 확인하는 역할을 합니다. Mach-O 형식의 iOS 바이너리 파일의 무결성을 검증하고 서명자를 확인하는 작업엔 뒤에서 설명할 ‘code signature 구조체’를 이용합니다. 그럼 우선 iOS 코드 서명이 무엇인지부터 먼저 말씀드리겠습니다.

자바 애플리케이션의 보안 검수 방법 살펴보기

안녕하세요. LINE에서 보안 업무를 담당하고 있는 최하늘입니다. LINE은 메신저 이외에도 많은 서비스를 론칭하고 있고 각 서비스는 새로운 기능이 추가되거나 버그가 수정될 때마다 수시로 업데이트됩니다. 보안 팀에선 새로 출시한 서비스나 업데이트한 서비스에 보안 상 문제가 없는지 확인하는데요. 이때 기존 코드에 이미 수행했던 동일한 보안 평가를 서비스에 새로 추가된 코드에 반복적으로 수행해야 하는 경우가 많았습니다. 그래서 보안 팀에선 자주 발견되는 보안 취약점 패턴을 정의하는 등 취약점을 자동으로 탐지해내기 위해 끊임없이 노력하고 있는데요. 이와 더불어 개발자들이 개발 과정에서 취약점을 자동으로 발견할 수 있는 도구를 사용한다면 보안 평가 과정에서 발견되는 보안 이슈가 훨씬 줄어들 수 있을 것입니다. 실제로 이를 위한 오픈소스나 상용 제품이 존재하며 LINE에서도 이를 적용하여 애플리케이션의 보안 이슈를 사전에 제거하려고 노력하고 있습니다. 이번 글에서는 보안 취약점을 자동으로 찾아내는 방법 중의 하나인 정적 분석에 대해서 알아보고, 자바(Java)용 오픈소스 정적 분석 도구인 SpotBugs를 보안 평가에 어떻게 활용할 수 있는지 알아보겠습니다.

AIR GO에 안드로이드 9 APK 서명 scheme v3 적용하기

안녕하세요. LINE에서 AIR GO를 개발하고 있는 김승훈입니다. AIR GO에 대해선 이전에 ‘AIR GO를 소개합니다‘에서 먼저 말씀드렸는데요. 이번 블로그에서는 그에 이어 APK 서명에 관한 내용과 AIR GO 탐지 정보를 소개하고자 합니다. 최근 Google이 Android 9(Pie)에서 APK Signature Scheme v3을 소개했는데요. 이에 관련된 내용을 AIR GO에 적용하면서 개발자에게 도움이 될 만한 부분을 정리한 글입니다.

FIDO at LINE: 패스워드 없는 세상으로의 첫 발걸음

안녕하세요. 오늘은 LINE의 인증서버가 서비스 제공업체로서는 전세계 최초로 FIDO(Fast Identity Online) Universal Server(모든 FIDO 인증 장치와 상호호환성을 보장하는 서버) 인증을 획득한 소식을 전해드리려고 합니다.

안전한 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’을 읽어보시기 바랍니다.
  • 내용을 좀 더 이해하고 싶다. → 포스팅 뒷부분까지 전부 읽고, 인용되어 있는 외부 링크나 용어까지 추가로 확인해 볼 것을 권해드립니다.

AIR GO를 소개합니다

AIR GO는 Android와 iOS의 패키지 파일(APK 파일과 IPA 파일)을 스캔하여 취약점을 찾아주는 서비스입니다. 오프소스 툴인 SandDroid를 사용해보신 분이라면 어떤 서비스인지 쉽게 떠올릴 수 있을 것 같습니다. 최근 LINE에서는 앱을 배포하기 전에 AIR GO를 활용하여 취약점을 발견하고 통지함으로써 앱에 포함된 위험을 미리 제거하고 있습니다. 또한 AIR GO는 누구나 간단한 이메일 계정 등록만으로 사용 가능한 서비스입니다. 보안 서비스 ‘AIR’는 이미 한 번 소개된 적이 있는데요. 이번에는 엔지니어의 관점에서 AIR를 구성하는 도구 중 하나인 AIR GO에 대해서 소개드리려고 합니다.

airgo_main

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월부터는 포상 대상자가 보상금을 기부할 수 있는 옵션을 제공하기 시작했습니다.

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편은 여기에서 보실 수 있습니다.