피드로 돌아가기
GeekNewsSecurity
원문 읽기
Atom 고갈은 실수가 아니다. 우리 CVE의 3분의 1이다
Atom 고갈 방지를 위한 existing_atom 함수 도입으로 CVE 33% 감소
AI 요약
Context
동적 입력값을 Atom으로 변환하는 과정에서 발생하는 무제한 Atom 생성 구조. 가비지 컬렉션이 불가능한 Atom 특성에 따른 메모리 고갈 및 시스템 다운타임 유발.
Technical Solution
- 런타임 중 새로운 Atom 생성을 차단하는
existing_atom계열 함수 도입 - 입력값이 이미 정의된 Atom 테이블에 존재하는지 확인하는 사전 검증 로직 적용
- 정의되지 않은 입력값에 대해 신규 Atom 생성 대신 즉각적인 Error를 발생시키는 예외 처리 설계
- Erlang의
binary_to_existing_atom및 Elixir의String.to_existing_atom활용을 통한 메모리 고정
실천 포인트
외부 입력값을 Atom으로 변환할 때 `to_existing_atom` 계열 함수 사용 여부 확인