dev.Log

Deview 2023 - Day2후기 본문

잡담

Deview 2023 - Day2후기

초코푸딩 2023. 2. 28. 22:00

코엑스에서 열린 네이버 개발자 콘퍼런스 Deview 2023에 참석했다! 

취업하고 나서는 코로나때문에 직접 컨퍼런스에 참석할 기회가 없었는데 이번에 아주 운이 좋게도 다녀왔다!! 

내가 들었던 것 중에 기억에 남는 세션 두가지만 간단히 기록 남겨보고자 한다. 

첫번째 세션

 

오픈톡으로 실시간 질문을 받고, 강연이 끝난 후에 전체 답변 + 부스에서 따로 답변을 주는 형식이였다.

 

{ Session1 } 자바스크립트 화이트박스 암호와 크롬 라인 메신저의 보안 강화

정말 처음 듣는 기술 파티였던 첫번째 세션... 느낀점을 적고 싶었으나 처음 듣는 내용이 많아 거의 내용 요약이다..

보통 소프트웨어 개발 생명주기상 마지막 단계에서 보안 테스트를 진행하는데 이 때에 문제점이 발견하게 되면, 문제를 수정하는데 드는 비용이 비싸다. 보안 결함의 가능성을 최소화하고 문제를 해결하는 노력과 비용의 절감을 위해 기획/개발 초기 단계부터 보안을 고려한 설계가 되어야 함을 알 수 있었다. 

자바스크립트는 인터프리터언어이므로 런타임에서 컴파일되고 실행되기 때문에 노출되는 코드로 인해 공격자가 쉽게 코드를 분석하고 수정할 수 있고, 임의의 코드를 실행할 수 있다. 

또한 브라우저의 스토리지는 안전하지 않기 때문에 브라우저에서 암호키와 같은 민감한 데이터를 안전하게 저장할 수 있는 옵션이 없다. 그래서 화이트박스 암호의 개념을 적용한 LTSM(LINE Trusted Security Module)이 탄생했는데, 브라우저에서 네이티브 구현을 가능하게 했다고 한다! 거의 네이티브에 가까운 성능으로 C/C++ 및 Rust와 같은 네이티브 코드를 실행할 수 있다고 하는데 (Emscripten을 사용해서 코드를 WASM 모듈로 컴파일하고, Embind를 사용해서 C++ 함수 및 클래스를 JavaScript 에 바인딩 할 수 있다) 라고 하는데...

그래서 결론은... 

-인증 : WebAuthn, FIDO2

-키관리 : WebAssembly + 화이트박스암호 + Cloud KMS/HSM

이렇게 사용해서 화이트박스 위협 모델내에서 보안을 달성할 수 있도록 했다고 한다... 

* 더 알아볼 내용 : OAuth2.0 DPoP, Web Crypto API, 화이트박스암호, Emscripten, WASM, Embind, Letter Sealing(종간간 암호화 프로토콜), ECDH 키 교환 알고리즘, Curve25519, Cloud KMS/HSM, WebAssembly ...

 

{ Session2 } 웨일 브라우저 오픈소스 생존기

웨일은 크로미움 오픈소스를 기반으로 개발 되었다고 한다. (크롬, 엣지등 거의 대부분의 브라우저들이 활용한다고 한다.)

chrome (브라우저 UI 담당), content (웹엔진), base (시스템 소프트웨어) 이 3가지 폴더를 보면 된다고 한다!

이중 base(시스템 소프트웨어)는 스레드 처리등을 담당하는데 multi processor 통해 브라우저가 락에 최대한 빠지지 않도록 한다고 한다. 안드로이드도 content(웹엔진)을 가져가서 웹뷰 프레임워크를 만들고 일렉트론도 내부적으로 content(웹엔진)을 가져다가 Custom 프레임워크로 만든 것이라고 한다. 

크로미엄은 구글에서 1000명정도 + 아닌 사람들 500명해서 개발중이기 때문에 발전속도가 굉장히 빠르고, 리베이스 속도를 따라가지 못하면 사이트 호완성, 보안등에 취약점이 생길 수 있어서 "크로미움 오픈 소스를 실시간으로 따라가는 것"은 브라우저 생존과 직결되는 문제라고 한다. 

이 때문에 Time based Release 방식을 채택했고, 리베이스 봇을 개발했다고 한다! (젠킨스와 파이썬으로 구현)

'컨플릭트 발생시 패치를 커밋이 아닌 파일 단위로 관리'해서 작업 순서 관리에 유리함을 가져갔고, 주말마다 봇이 돌게하면서 '자주 리베이스'하여 코드 컨플릭트가 나는 수를 줄게했다고 한다. 또한 리베이스 코딩 룰을 만들어서 헤더 파일은 맨위에 놓기, 코드 수정을 최소한으로 하기(define을 사용해서 다른 파일로 신규개발하여 코드 삽입하기) 컨플릭트를 줄였다고 한다. 이 밖에도 안드로이드 자동화 테스트나 매 PR마다 테스트 봇으로 검증하고, 메모리 사용량 테스트 부하 테스트를 한다고 한다. 

이렇게 리베이스의 무게를 '자동화'로 해결한 것을 보고 많은 인사이트를 얻을 수 있었다. 

리베이스 봇,, 테스트 봇,, 만들어보고싶다,,,

아 런타임 데드 코드 분석도구 Scavanger도 흥미롭게 들었는데 java agent 방식으로 런타임에 실행되는 메소드를 트래킹하는 방식이였다. (ASM -  byte buddy 사용했다고 한다.) 그리고 강연도중에 오픈 소스로(https://github.com/naver/scavenger) 공개했는데,,, 포포몬쓰 멋있었다,,,😎 

네이버에서 참석자들에게 준 밀카 초콜릿과 키캡 자랑vV + 메일로 온 설문 완료~ (내년 DEVIEW 2024에서도 뵙길 기대하겠습니다... 2022오타 발견 ㅋㅋ)

강연장 밖에는 쏘카, 웨일, 쿠팡 등 다양한 부스들이 운영되고 있어서 귀여운 웨일 양말(팀원분이 신고 회사 올거냐고 놀렸다ㅋㅋ) 이랑 노트북에 붙이는 스티커랑 쏘카 할인권도 받았다^^

 

다음 데뷰때는 실력이 더 성장해서 많은 것을 더 배워가고 싶다... 쫑알쫑알 질문도 하고 싶다,,,

별거없는 후기 끝!

'잡담' 카테고리의 다른 글

현카 테크톡 후기  (1) 2024.11.18
GDG 송도 Hello World 24 후기  (3) 2024.04.01
K-DEVCON 2023 후기  (1) 2024.04.01
2022년 회고록  (3) 2023.02.05
요즘 개발자...  (0) 2020.07.07
Comments