다른 명령
새 문서: 분류: 소프트웨어 기반 보안 == 개요 == Code santizier은 Compiler Instrumentation을 활용하여서 Runtime에 버그를 잡는 Programming tool을 의미한다. 대표적인 예로 Shadow memory를 활용하셔어 Memory corruption을 추적하는 AddressSanitizer과 같은 툴이 있다. == 종류 == {| class="wikitable" |+ !Name !Target !Target Vulnerability !Memory overhead !Performance overhead !Scalability !Tool Chain |- |ASAN |Ap... |
편집 요약 없음 |
||
5번째 줄: | 5번째 줄: | ||
== 종류 == | == 종류 == | ||
* Performance와 Memory overhead는 서로 trade-off관계이 있는 경우가 대다수임 | |||
* Scalability는 멀티 스레딩 환경 (보통 [[PARSEC]])에서 어느정도 Scalability를 보였는지를 표시, ? (멀티 스레딩 구현 안함, 측정 안함), Low - Moderate - High로 표기 | |||
* Transparency는 Application수정 필요한지 표기. Yes (Full transparent), No (특정 기능이 없거나, 전체적으로 다시 구현해야 하는 경우) | |||
=== Sanitizer 관련 프로젝트 정리 === | |||
{| class="wikitable" | {| class="wikitable" | ||
|+ | |+Sanitizer 프로젝트 정리 '''(* 수치는 직접 측정, 혹은 다른 논문에 측정된 수치를 참고함)''' | ||
!Name | !Name | ||
!Target | !Target | ||
13번째 줄: | 18번째 줄: | ||
!Performance overhead | !Performance overhead | ||
!Scalability | !Scalability | ||
|- | |- | ||
|[[ASAN]] | |[[ASAN]] | ||
21번째 줄: | 25번째 줄: | ||
|240% | |240% | ||
|Low | |Low | ||
|- | |- | ||
|[[KASAN]] | |[[KASAN]] | ||
29번째 줄: | 32번째 줄: | ||
| | | | ||
| | | | ||
|- | |- | ||
|LSan | |LSan | ||
37번째 줄: | 39번째 줄: | ||
| | | | ||
| | | | ||
|- | |- | ||
|TSan | |TSan | ||
45번째 줄: | 46번째 줄: | ||
| | | | ||
| | | | ||
|- | |- | ||
|MSan | |MSan | ||
53번째 줄: | 53번째 줄: | ||
| | | | ||
| | | | ||
|- | |- | ||
|UBSan | |UBSan | ||
61번째 줄: | 60번째 줄: | ||
| | | | ||
| | | | ||
| | |} | ||
=== Sanitizer 관련 논문 정리 === | |||
{| class="wikitable" | |||
|+Sanitizer 관련 논문 정리 '''(* 수치는 직접 측정, 혹은 다른 논문에 측정된 수치를 참고함)''' | |||
!Name | |||
!Target | |||
!Target Vulnerability | |||
!Memory overhead | |||
!Performance overhead | |||
!Scalability | |||
|- | |- | ||
|[[ASAN]] | |||
|Application | |||
|Memory corruption | |||
|73% | |||
|240% | |||
|Low | |||
|- | |||
|[[KASAN]] | |||
|OS | |||
|Memory corruption | |||
| | | | ||
| | | | ||
| | | | ||
|- | |||
|LSan | |||
|Application | |||
|Memory Leak | |||
| | | | ||
| | |||
| | |||
|- | |||
|TSan | |||
|Application | |||
|Data races & Deda locks | |||
| | |||
| | |||
| | |||
|- | |||
|MSan | |||
|Application | |||
|Uninitialized memory | |||
| | |||
| | |||
| | |||
|- | |||
|UBSan | |||
|Application | |||
|Undefined behaviors | |||
| | | | ||
| | | | ||
| | | | ||
|} | |} |
2025년 5월 27일 (화) 10:58 기준 최신판
개요
Code santizier은 Compiler Instrumentation을 활용하여서 Runtime에 버그를 잡는 Programming tool을 의미한다. 대표적인 예로 Shadow memory를 활용하셔어 Memory corruption을 추적하는 AddressSanitizer과 같은 툴이 있다.
종류
- Performance와 Memory overhead는 서로 trade-off관계이 있는 경우가 대다수임
- Scalability는 멀티 스레딩 환경 (보통 PARSEC)에서 어느정도 Scalability를 보였는지를 표시, ? (멀티 스레딩 구현 안함, 측정 안함), Low - Moderate - High로 표기
- Transparency는 Application수정 필요한지 표기. Yes (Full transparent), No (특정 기능이 없거나, 전체적으로 다시 구현해야 하는 경우)
Sanitizer 관련 프로젝트 정리
Name | Target | Target Vulnerability | Memory overhead | Performance overhead | Scalability |
---|---|---|---|---|---|
ASAN | Application | Memory corruption | 73% | 240% | Low |
KASAN | OS | Memory corruption | |||
LSan | Application | Memory Leak | |||
TSan | Application | Data races & Deda locks | |||
MSan | Application | Uninitialized memory | |||
UBSan | Application | Undefined behaviors |
Sanitizer 관련 논문 정리
Name | Target | Target Vulnerability | Memory overhead | Performance overhead | Scalability |
---|---|---|---|---|---|
ASAN | Application | Memory corruption | 73% | 240% | Low |
KASAN | OS | Memory corruption | |||
LSan | Application | Memory Leak | |||
TSan | Application | Data races & Deda locks | |||
MSan | Application | Uninitialized memory | |||
UBSan | Application | Undefined behaviors |