Security

FIDO at LINE: FIDO2 서버를 오픈 소스로 공개했습니다

안녕하세요 Security R&D팀에서 FIDO(Fast Identity Online) 개발 담당 엔지니어로 일하고 있는 박경준입니다. 지난번에 발행한 FIDO at LINE: 패스워드 없는 세상으로의 첫 발걸음에 이어서, 이번 글에서는 FIDO2에 대해서 간략히 소개하고 올해 3월 초에 FIDO2 Alliance에서 주최한 상호 운용성 테스트 이벤트에 참여한 후기를 공유한 뒤, 이번에 오픈 소스로 공개하는 LINE FIDO2 서버에 대해 소개하려고 합니다.

LINE의 자체 개발 SSL 인증서 관리 시스템, VOYAGER

안녕하세요. Infra Protection 팀에서 컨테이너 보안 기술과 인증서 관리 업무를 담당하고 있는 유휘재입니다. 이번 글에서는 LINE에서 인증서를 관리하는 방법과 시스템, 그리고 기술적인 배경에 대해서 소개하려고 합니다.

생체 정보를 활용한 안전한 로그인, passwordless LINE 프로젝트를 소개합니다

안녕하세요. LINE 플랫폼 엔지니어링 3팀의 편백범입니다. 이번 글에서는 패스워드 대신 생체 정보를 활용해 안전하게 로그인할 수 있게 만드는 ‘Passwordless LINE’ 프로젝트에 대해 말씀드리겠습니다. 먼저 패스워드의 역사를 살펴보고 패스워드의 대체재로 사용할 수 있는 생체 정보의 장단점을 알아본 뒤 산업계의 동향과 이에 대응해 LINE에서 진행한 passwordless LINE 프로젝트를 소개하는 순서로 진행하겠습니다.

게임 보안 운영 관점에서 바라본 게임 치트 방지 모니터링

안녕하세요. LINE Game Security 팀에서 LINE GAME의 보안 운영을 담당하고 있는 이명재입니다. LINE GAME이 탄생한 지 벌써 6년이 지났습니다. 지난 6년 간의 경험을 토대로 ‘게임 보안 운영 관점에서 바라본 게임 치트(cheat) 방지 모니터링’에 대하여 여러분께 소개하려고 합니다. 게임 치트란, 악의적인 유저(이하, 어뷰저(abuser)로 지칭)가 앱을 조작하거나 데이터를 조작하는 등 비정상적인 방법으로 게임이 본인에게 유리하게 진행되도록 만드는 행위라고 정의할 수 있습니다. 


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