About
어렸을 때부터 프로그래밍을 시작해 윈도우 환경에서 Visual Basic과 Delphi 언어로 간단한 데스크톱 앱을 만들어보며 기본기를 다졌고, 리버싱 동적분석을 통해 어셈블리어 수준에서 소프트웨어가 동작하는 원리에 대한 이해를 쌓아왔습니다.
현재는 백엔드 서버 개발에 집중하며, MAU 약 4,000명·누적 가입자 30,000명 규모의 웹 서비스를 2년 이상 직접 개발 및 운영하고 있습니다. 운영 과정에서 발생하는 다양한 이슈를 해결하며 사용자 요청을 안정적으로 처리하고, 서비스의 지속적인 성장 경험을 만들어가고 있습니다.
개인적으로는 취미로 체스를 즐기며, 최선의 수를 찾는 과정을 좋아합니다.
🛠️ Skills
Backend
- Java
- Spring Boot
Database & DevOps
- MySQL, Redis
- AWS, Vultr, Docker
Low-Level & Desktop
- Delphi
- Windows x86/x64 Assembly, Reverse Engineering
- OS Kernel
🚀 Projects
카카오톡 프로필 조회 서비스
2024.02 - 현재 | 프로젝트 회고
사용자의 프로필 조회 요청을 실시간으로 접수하고, 외부 워커에서 프로필 조회 작업을 처리한 뒤 결과를 WebSocket으로 전달하는 시스템을 설계 및 구현했습니다.
- MAU 약 4,000명·누적 가입자 30,000+명 규모의 웹 서비스입니다.
- 서버–외부 워커 연동을 이벤트 아키텍처(Pub/Sub)로 설계해 결합도를 낮추고, 기능 추가/변경 시 영향 범위를 최소화했습니다.
- 사용자 단위 분산 락을 적용하고, 락 해제 시점을 트랜잭션 완료 이후로 동기화해 커밋 전 데이터 노출로 인한 레이스 컨디션을 방지했습니다.
- WebSocket 핫패스 구간에 Cache-aside 패턴을 적용해 p95 응답시간을 60.2ms → 41.7ms로 약 31% 단축하여 병목을 줄였습니다.
- 은행 입출금 메시지를 실시간으로 수신하는 라이브러리(DLL)를 구현하여 결제 확인/완료를 1초 이내로 자동 처리했습니다.
- 결제 승인 API에서 포인트 캐시 업데이트/이메일 발송을 커밋 이후 이벤트로 분리해 비동기 처리함으로써, 응답 시간을 약 3,000ms → 150ms 이내로 단축했습니다.
- 운영 환경에서 장애(UnknownHostException) 발생 당시 애플리케이션 레벨의 문제가 아닌 DNS 문제로 원인을 좁혀 nslookup으로 확인하고, /etc/resolv.conf를 공용 DNS로 전환해 서비스 연결을 복구하는 방식으로 장애를 대응하였습니다.
입출금 메세지 수신 기반 결제 자동화
2025.06 - 2025.08 | 프로젝트 회고
모바일에서 발생한 은행 입출금 알림을 Windows 환경에서 실시간으로 수신/필터링해 메세지 토픽으로 전달하고, 서버는 이를 구독해 결제 확인/완료 처리를 자동화하는 시스템을 구현했습니다.
- Inline Hooking을 통해 Phone Link 모바일 알림을 수집하고, 입출금 메시지를 추출/필터링해 이벤트로 전달하는 모듈을 구현했습니다.
- 동일 알림의 중복 전송을 막기 위해 알림 키 기반 dedupe를 적용하고, 시간 기준 필터로 과거/지연 알림을 제외해 결제 처리의 신뢰성을 높였습니다.
- 입금 알림을 Pub/Sub 이벤트로 표준화해 전달하도록 구성하여, 서버는 구독/파싱 후 주문 결제 처리에만 집중할 수 있도록 설계했습니다.
CVE-2024-30804 PoC (ASUS 커널 드라이버 LPE 취약점 재현)
2025.12 - 2025.12 | 프로젝트 회고
서명된 ASUS 드라이버(AsInsHelp64.sys)의 물리 메모리 매핑 IOCTL을 악용할 수 있는 취약점을 분석하고, 커널 구조체 조작을 통해 로컬 권한 상승이 가능한 시나리오를 PoC로 재현했습니다.
- 취약 드라이버의 IOCTL 인터페이스를 래핑해 물리 메모리 Map/Unmap 및 Read/Write 프리미티브를 구성하고, 취약점의 영향 범위를 재현했습니다.
- x64 페이징 구조를 바탕으로 가상 주소를 물리 주소 변환하여, 커널 메모리 구조를 안정적으로 확인할 수 있도록 했습니다.
- 커널 프로세스 리스트를 순회해 현재 프로세스를 식별하고, 권한 관련 커널 객체 조작이 가능한 흐름을 PoC로 검증했습니다.