시스템 또는 모델의 보안을 테스트 할 때 다음 질문이 여러 번 발생했습니다 .
동기 부여 : 소프트웨어 보안 결함은 종종 유효한 입력으로 인한 버그가 아니라 유효 입력에 충분히 근접한 유효하지 않은 입력으로 인해 발생하는 버그가 많은 간단한 유효성 검사를 통과합니다. 고전적인 예는 물론 버퍼 오버 플로우인데, 입력이 너무 크다는 것 외에는 입력이 합리적입니다. 컴파일러 및 기타 도구는 스택 및 힙의 레이아웃을 수정하고 다른 난독 화 기술을 통해 이러한 문제를 해결하는 데 도움을 줄 수 있습니다. 대안은 소스 코드 자체에서 문제를 제거하는 것입니다. 입력을 가진 프로그램이 퍼징 폭격 이라고하는 한 가지 기술은 예상되는 입력에 가깝지만 불합리한 위치에 있습니다 (정수 또는 문자열 필드의 경우 큰 값). 좀 더 공식적인 관점에서 퍼징을 이해하고 싶습니다.
유효한 입력 공간이 제약 조건 로 설명되어 있다고 가정합니다 . 을 그러한 구속 조건의 해 집합 이라고하자 . 즉 (여기서 은 가능한 입력 공간입니다.
다음 개념을 설명하는 작업을 찾고 있습니다.
\ Phi \ Rightarrow \ Phi ' 와 \ Phi'\ land \ neg \ Phi 와 같은 제약 조건 to \ Phi ' 를 완화하는 방법은 어떤 의미에서 \ Phi 의 구문 적 반감입니다 .
"Penumbra"는 개념을 설명하기 위해 선택한 단어입니다. 다른 것으로 불릴 수도 있습니다.
나는 수학적 형태 에서 영감을 얻었 으므로 시각적 은유 적이지만 두 세계는 서로 분리되어 있습니다. 유용한 작업이 있습니까? 아니면 거친 세트 의 세계에서 ?
누구나 빛을 비출 수 있습니까?