유형 혼란
유형 혼란은 프로그램이 데이터의 실제 형식과 다르게 이를 해석·처리해 잘못된 연산이나 메모리 접근을 일으키는 소프트웨어 취약점이다.
한 입에 정리하면
- 01최적화·형 변환 과정의 검증 오류에서 발생할 수 있어요
- 02객체를 다른 자료형처럼 다뤄 메모리 경계가 어긋날 수 있어요
- 03비정상 종료부터 정보 유출·임의 코드 실행으로 이어질 수 있어요
왜 나온 말일까요?
프로그램은 숫자·문자열·객체처럼 각기 다른 형식의 데이터를 정해진 규칙에 따라 처리해요. 그런데 실행 환경이나 컴파일러·엔진이 어떤 데이터의 유형을 잘못 판단하면, 그 데이터를 위한 메모리 구조와 맞지 않는 방식으로 읽거나 쓸 수 있죠. 특히 웹 브라우저의 스크립트 엔진처럼 외부 입력을 처리하는 소프트웨어에서는 공격자가 이런 불일치를 유도할 수 있어 보안상 중요해요. 다만 유형 혼란이 발생했다고 해서 항상 공격에 성공하는 것은 아니며, 추가 조건과 방어 장치의 우회 가능성에 따라 영향이 달라져요.
예를 들어
예를 들어 스크립트 엔진이 원래는 일반 객체인 값을 배열이나 숫자 전용 값으로 잘못 최적화해 처리하면, 공격자가 예상 밖의 메모리 위치를 읽거나 쓰도록 유도할 가능성이 생길 수 있어요.
이 용어가 나온 이슈
체리픽이 기사 원문이 아닌 사실관계를 바탕으로 쉽게 풀어 쓴 정의예요. 원문은 각 카드의 "더 읽기"에서 확인할 수 있어요.
용어사전으로 돌아가기