
📧 [email protected]
📞 +82-10-6814-2467
💻 @movebxeax
Last Updated : 2023.08.07.
INTRODUCE
높은 안정성을 가진 프로그램의 개발, 언제나 활발한 의사소통을 기반으로한 협업을 추구하는
5년차 개발자 변준우입니다.
C/C++, C#, Python, Git, Visual Studio, WinDbg, IDA, Jenkins 등을 사용한 개발, 분석, 배포 경험을 바탕으로 다양한 환경에서 높은 안정성을 가진 응용 프로그램을 개발하기 위해 언제나 고민하고 있습니다. 개발 뿐만 아니라 보안에도 관심이 많고, 보안 분야에서의 경험을 개발에 적용하기 위해 노력하고 있으며, 새로운 기술을 받아들이는 것을 즐긴다고 자부합니다.
또한, 개발 역량 못지않게 커뮤니케이션 능력 또한 필수적이라고 생각하는 사람으로서 동료와의 의사소통 및 협업을 중요하게 생각합니다. 커뮤니케이션 과정에서 이전에는 생각하지 못했던 문제 해결 방식이나 인사이트를 얻을 수 있다고 생각하기 때문에 동료와의 협업을 선호합니다.
Projects
NEXON Korea
- 사내 근태 관리 시스템 개발 및 운영 (2024.01. ~ 진행중)
- 유연근무제 도입 후 사용중이던 기존 근태 관리 시스템을 대체할 신규 시스템을 개발 및 운영하고 있습니다.
- Electron을 기반으로 Windows와 MacOS를 한 번에 커버할 수 있는 크로스 플랫폼 시스템을 목표로 개발했으며, 각종 어뷰징 사례들을 걸러낼 수 있도록 기술 및 정책적 기반을 (재)설계했습니다.
- Windows의 경우 기술적 우회 및 어뷰징 가능성을 고려하여 디바이스 드라이버 레벨에서부터 정책을 재설계하여 악의적인 사용자의 시도를 차단하고자 하였으며, 실제로 도입 이후 기술적인 어뷰징 사례가 전혀 존재하지 않았습니다.
- 기존의 서드파티 솔루션과 대비하여 프로젝트 요청 부서의 어뷰징 대응 시도 및 실제 성공 사례를 걸러내기 위한 유/무형의 리소스가 대폭 감소하였으며, 해당 솔루션은 자사를 포함한 전체 관계사에 도입되어 운영중입니다.
- HR 서버와 직접 연결하는 경우 보안 이슈가 발생할 수 있기 때문에 연동을 위한 별도의 API 서버를 AWS 환경에 새로 구성하였습니다.
- 각종 근태 및 정책 데이터를 직접 HR 서버와 송/수신 하는 경우 성능 및 보안 이슈가 발생할 우려가 있어 별도로 설계, 개발 및 운영중입니다.
- 고가용성을 확보하기 위해 각종 인스턴스를 최대 n개의 AZ에 이중화를 진행했으며, ALB를 활용해 부하분산과 동시에 지정되지 않은 네트워크 대역에서의 접근을 제한했습니다.
- 별도의 Security Group 설정을 통해 EC2는 사내 Cloud VPN 대역, RDS와 Elasticache 및 기타 리소스의 경우 EC2 VPC 대역 외의 접근을 제한하는 등의 보안 조치를 추가로 수행하여 보안성을 높였습니다.
- 추후 감사 이슈 발생 시 사용할 수 있는 행위 로그(관리자의 설정 변경 등)에 대해서도 별도로 기록하도록 개발을 진행했습니다.
- 릴리즈 직전 수행한 사내 보안 진단 담당자의 펜테스팅 결과, 서버와 클라이언트 모두 취약한 포인트는 확인되지 않았습니다.
- Overlay 시스템 개발 (2025.06. ~ 진행중)
- 로그인/상점/결제 등의 기능을 제공하거나, 게임 플레이 도중 웹브라우징 등으로 인한 이탈 방지 등을 위해 게임 내에서 사용할 수 있는 DirectX 기반의 오버레이 시스템을 개발했습니다.
- DirectX 9 이후 버전을 기반으로 하는 모든 자사 게임에서 특별한 노력 없이 바로 적용할 수 있도록 시스템을 구성했으며, 기존 게임보안 경험을 바탕으로, 게임 핵이 해당 기능을 악용할 수 없도록 기술적 조치를 진행했습니다.
- Off-screen Rendering 등을 위한 바이너리의 인증서 검증, 지정된 도메인 외의 접근 불허, IPC를 위한 보안 패킷 설계 및 개발을 진행했습니다.
(주)웰비아닷컴
- SW/HW 기반의 매크로 장치 탐지 기능 (2018.12. ~ 2021.12.)
- 개별 게임사의 요청으로 총 10여개의 SW/HW 기반의 매크로 장치 탐지를 위한 기능을 제작했습니다.
- Logitech, Corsair, Cherry, Bloody, Razer 등의 제조사에서 제조하는 키보드, 마우스가 제공하는 매크로 기능의 사용 여부 탐지를 위해 각각의 동작방식을 분석한 뒤 특이점을 바탕으로 탐지하는 기능을 구현했습니다.
- 이들 가운데 특정 제품의 경우 타사의 정상 제품과 동일한 VID, PID를 가지고 있어 단순히 이들 값의 비교만으로는 차단이 불가능했습니다.
- 이를 해결하기 위해 해당 제품을 조작하는 전용 SW의 분석을 통해 HW를 제어하는 특정 함수 및 값을 그대로 사용 및 전송하는 등의 방법을 통해 정상/매크로 기기 여부를 탐지하는 기능을 연구했으며, 이 과정에서 hid 장치 조작에 대한 많은 인사이트를 얻게 되었습니다.
- 솔루션 우회 탐지를 위한 서버 연동 기능 (2019.10. ~ 2022.03.)
- 일부 게임 핵의 경우 솔루션 자체를 동작하지 않게 우회하여 탐지를 회피하는 경우가 있었으며, 이를 탐지하기 위한 서버 인증 기능을 구현했습니다.
- 고객사 환경에 맞춰 해당 기능을 연동할 수 있게 배포해야했기 때문에 C++은 물론 C#, Python, Golang, Java, Node.js, Elixir 등의 언어를 사용하는 게임 서버에서 사용할 수 있도록 샘플 제작 및 연동 플러그인을 작성, 배포했습니다.
- 고객사 환경으로 Windows는 물론 Linux를 사용하는 고객사가 있었기 때문에 개발 과정 중 일부에서 cross-platform에 대한 고려가 필요했으며, 단일 소스코드 베이스로 빌드 환경에 따라 적합한 바이너리를 생성할 수 있도록 구성했습니다.
- 이 프로젝트를 통해 다양한 언어를 빠르게 습득하는 방법을 배움과 동시에 다양한 언어 및 플랫폼에서 동작함과 동시에 작성한 코드를 고객사의 입장에서 큰 변경 없이 쉽게 배포할 수 있는 구조에 대해 연구하는 계기가 되었습니다.
- 고객사와의 핵툴 탐지 관련 협업 (2019.03. ~ 2022.03.)
- 회사 개발팀을 대표하여 솔루션을 사용하던 고객사와의 협업을 담당했습니다. COVID19로 인해 대면 회의가 중단되기 전까지 특정 고객사와는 월 2~3회의 대면 미팅을 진행했으며, 그 이후에는 Slack 등을 사용한 실시간 커뮤니케이션을 통해 게임 핵 탐지 방법과 관련하여 협업을 진행했습니다.
- 게임 핵 탐지 방법, 일정 관리, 이슈 트래킹, 질의 응답, 결과 분석 및 후속 조치 진행 등의 전반적인 내용을 맡아 담당했으며, 재직중이던 회사는 물론 고객사들로부터도 협업 과정에서 원활한 커뮤니케이션이 이루어졌다는 평가를 받았습니다.
- 게임 핵 분석을 위한 Minifilter 드라이버, 탐지를 위한 Kernel 드라이버 (2019.04. ~ 2022.03.)
- 게임 핵 분석 과정에서 사용하기 위한 minifilter 드라이버를 구현했습니다.
- 게임 핵의 경우 사용자가 임의의 게임 핵 바이너리를 실행하여 메모리를 변조하는 방식을 사용합니다. 이 과정에서 게임 핵은 임의의 위치에 실행파일 이미지를 다운로드 받고 이를 사용해 메모리를 변조합니다. 이후 필요에 따라 다운로드 받은 이미지와 더불어 자신의 이미지까지 삭제하는 경우가 대다수였기 때문에 디스크의 임의의 위치에 파일 생성 및 수정 이벤트가 이루어지는 경우 해당 데이터를 백업하는 기능을 가진 minifilter 드라이버를 작성하여 분석에 사용했으며, 게임 핵을 직접 분석하는 일부 고객사에 배포하기도 했습니다.
- 탐지를 위한 kernel 드라이버의 경우 솔루션과 함께 배포되어 탐지 과정에 사용되었습니다.
- Unity 기반 게임 개발 환경에서의 연동을 위한 SDK (2020.04. ~ 2021.08.)
- Dump 분석을 위한 WinDbg 플러그인 (2019.08. ~ 2020.12.)
삼성 청년 SW 아카데미(SSAFY)
Careers
- (주)웰비아닷컴 (2018.12.~ 2022.03., 개발실, 병역특례 보충역 복무만료)
- Xigncode3 유지보수 및 개발
- 병역특례 기간을 포함하여 약 3년 4개월간 국내/외 유명 게임(PUBG, League of Legends, LostArk, Mir4 등)을 담당하여 게임 핵, 매크로 등의 방어를 위한 게임 보안 솔루션을 개발했습니다.
- 2019년 3월부터 2022년 3월까지 약 3년간 개발팀을 대표하여 프로젝트 이해관계자(내/외부) 커뮤니케이션 관리, 프로젝트 일정 관리 등을 담당했습니다.