위키득계정 ↗
기술

DieHard

DieHard기술
분류
오류 내성 메모리 할당기
관련 계열
DieHarder와 Exterminator
주요 관점
메모리 오류의 영향 완화
보장 특성
확률적 접근
DieHard는 메모리 오류가 있는 프로그램의 신뢰성을 높이려는 할당기 연구 시스템이다. 오류가 다른 객체에 미치는 영향을 확률적으로 줄이는 접근을 사용한다.

잘못된 코드와 실행 결과

메모리 배치와 할당 방식을 바꾸면 같은 오류의 영향도 달라질 수 있다. DieHard는 이런 특성을 이용해 일부 메모리 오류가 실패로 이어질 가능성을 줄이려는 시스템이다. 오류 원인이 코드에서 제거되었다는 뜻과는 구분해야 한다.

관련 시스템의 차이

같은 배포에는 신뢰성을 겨냥한 DieHard 외에 보안 강화를 지향하는 DieHarder와 통계적 오류 수정을 다루는 Exterminator가 포함된다. 이름이 함께 나온다고 기능과 가정을 같은 것으로 보아서는 안 된다. 실제 선택한 구현과 빌드 옵션을 확인한다.

실험과 적용 범위

특정 실행의 성공만으로 모든 메모리 오류가 안전하게 처리된다고 판단하지 않는다. 확률적 완화의 범위와 비용, 현재 소스의 플랫폼 지원을 확인한다. 검사 도구로 원인을 찾고 코드를 수정하는 과정과 방어적인 할당기 사용은 서로 보완하는 작업이다.

관련 문서

Hardened Malloc / Scudo / AddressSanitizer / Dmalloc