AWS에서의 20년과 결코 내 일이 아니었던 적이 없던 시간
6 days ago
7
- 2006년 Amazon S3 출시 직후부터 FreeBSD 보안 담당자로서 AWS 보안 구조와 무결성 문제를 지속적으로 제기하며 협력 시작
- EC2 초기에는 커스텀 커널 제한과 Xen 보안성 우려가 있었으나, FreeBSD 실행과 보안 강화를 위한 제안이 장기적으로 반영됨
- 2008년 이후 EBS, SimpleDB, IAM, IMDS 등 주요 서비스의 보안 취약점을 발견하고 Amazon과 함께 수정 및 개선 진행
- FreeBSD/EC2 공식 지원 확립, AMI 빌드 통합과 UEFI 부팅 지원 등 기술적 통합을 주도하며 AWS 인프라 발전에 기여
- 20년간의 협력은 외부 기여자와 AWS 엔지니어 간의 지속적 피드백과 신뢰 구축으로 이루어진 장기적 기술 파트너십의 사례임
AWS와의 20년: FreeBSD, 보안, 그리고 협력의 기록
-
AWS 초기와 보안 문제 제기
- 2006년 4월 10일 Amazon S3 발표 직후 첫 AWS 계정을 개설하고 보안 백업 문제에 주목, 온라인 스토리지 개념에 매력을 느낌
- 당시 활성화된 서비스는 Amazon Simple Queue Service와 Amazon E-Commerce Service 두 가지뿐이었음
- FreeBSD Security Officer로서 AWS 요청은 서명되어 있었지만 응답에는 무결성 보호가 없다는 점을 지적
- 당시 HTTP 기반 통신이 일반적이어서 응답 변조 위험이 존재했으며, 엔드 투 엔드 서명의 필요성을 강조
-
EC2 등장과 FreeBSD 지원 시도
- Amazon EC2 출시 직후 FreeBSD 실행을 목표로 Amazon과 접촉, 2007년 초 첫 NDA 체결
- EC2는 초기에는 커스텀 커널 불가였으나, 2007년 11월 Red Hat 지원과 함께 해당 기능이 추가됨
- Xen 보안성에 대한 우려를 제기하고 보안 감사 필요성을 권고, Tavis Ormandy를 추천
- EC2 인스턴스의 읽기 전용 루트 디스크와 메모리 초기화 기능을 요청, 이후 18년 뒤 EC2 Instance Attestation으로 구현
-
FreeBSD/EC2 기술적 도전과 협력
- 2008년 Kip Macy가 FreeBSD를 Xen에서 PAE로 구동 성공, 이후 내부 AMI 도구를 FreeBSD로 포팅
- Xen 3.0의 재귀 페이지 테이블 버그로 FreeBSD 부팅 실패, Amazon은 기존 고객 호환성을 위해 Xen 3.0 유지 결정
- Elastic Block Storage 알파 초대, SimpleDB 서명 충돌 문제 발견 및 보고
- Amazon은 Signature Version 2 설계 검토 요청 및 문서 수정으로 대응
- SimpleDB의 NextToken이 직렬화된 Java 객체로 처리되는 보안 취약 설계를 보고했으나 초기에는 응답 없음
-
AWS와의 지속적 피드백과 보안 제안
- 2008년 Amazon 입사 제안을 고려했으나 인터뷰에서 예외 처리 문제를 두고 논쟁 발생
- 2009년 EC2 방화벽의 ICMP 차단으로 인한 Path MTU Discovery 실패 문제를 보고, 2012년에 수정
- 2010년 NetBSD를 EC2에서 부팅 성공, 이후 t1.micro 인스턴스에서 FreeBSD 실행 성공
- 2010년 12월 FreeBSD/EC2 지원 공식 발표
- 이후 고객 요청으로 Cluster Compute 인스턴스 지원 확장, 2014년 T2 인스턴스 등장으로 “Windows tax” 회피 가능
-
AWS 내부 개선에 기여한 사례들
- 2012년 S3 요청 오류를 추적해 데이터센터 라우터 하드웨어 결함을 발견, Amazon이 이를 교체
- 첫 re:Invent에서 하이퍼스레딩 기반 RSA 키 탈취 연구를 공유, 이후 EC2 인스턴스가 2 vCPU 단위로 구성되는 계기 제공
- 2015년 FreeBSD/EC2 AMI 빌드 과정을 FreeBSD 공식 릴리스 트리에 통합, 공식 지원 체계 확립
-
IAM과 보안 인터페이스 문제
- 2016년 IAM Roles의 IMDS 자격 증명 노출 위험을 지적, “EC2’s most dangerous feature” 게시
- 2019년 Capital One 침해 사건으로 해당 위험이 현실화, 이후 IMDSv2 도입
- 2019년 AWS Heroes 프로그램에 선정되어 AWS 외부 기여자로 인정
-
기술 발전과 FreeBSD 통합
- 2021년 EC2의 UEFI 부팅 지원으로 FreeBSD 부팅 속도 7초 단축
- BootMode=polyglot 요청이 2023년 “uefi-preferred”로 구현
- 2023년 AWS Heroes Summit에서 Seekable OCI 보안 설계 결함을 발견, AWS Security 팀과 협력해 수정 진행
- 2025년 2월 해당 기능이 대부분 고객에게 비활성화됨
-
FreeBSD Release Engineering과 AWS 협력
- 2020년 FreeBSD Release Engineering 팀의 부책임자(Deputy Release Engineer) 로 임명
- 2023년 Glen Barber의 퇴임 후 Release Engineering Lead로 승계, 연 4회 릴리스 체계 확립
- 2024년 Amazon의 GitHub Sponsors 후원으로 주 10시간 지원을 받아 FreeBSD/EC2 유지보수 강화
- 2025년 6월 “A year of funded FreeBSD”에서 성과 보고
-
20년간의 협력과 감사
- AWS 내부 시스템 접근 권한은 없었지만 Amazon 엔지니어들의 협력으로 수많은 기술적 문제 해결 가능
- 내부 티켓 작성, API 로그 점검, 문서 확보 등에서 비공식적 지원 네트워크가 큰 역할
- FreeBSD와 AWS의 발전은 개인 노력과 공동 협력의 결합으로 이루어진 결과임
-
Homepage
-
개발자
- AWS에서의 20년과 결코 내 일이 아니었던 적이 없던 시간