퍼지 테스트 란 무엇입니까?
퍼지 테스트 또는 퍼징은 컴퓨터 프로그램 또는 시스템이 다양한 임의의 입력 및 정보에 어떻게 반응하는지 확인하는 방법입니다. 이 프로세스에는 특정 제약 조건 내에서 완전히 임의 또는 임의의 데이터 유형을 생성 한 다음 해당 데이터를 프로그램에 공급하여 예기치 않은 정보를 처리하는 방법을 테스트합니다. 가장 기본적인 형태의 퍼즈 테스트는 임의의 키 누름 또는 문자 시퀀스를 프로그램에 전송하고 올바르게 처리하는지 확인하는 것입니다. 보다 복잡한 버전의 퍼즈 테스트는 구조화 된 데이터를 사용하며 무작위로 조작되어 프로그램으로 전송됩니다. 데이터는 시스템 이벤트, 키보드 입력, 모의 네트워크 신호 또는로드 할 파일로 프로그램에 도달 할 수 있습니다.
컴퓨터 프로그램에는 퍼즈 생성기로 테스트 할 수있는 다양한 부분이 있습니다. GUI (Graphical User Interface)는 임의의 마우스 및 키보드 이벤트 시퀀스를 작성하고 GUI가 충돌, 정지 또는 예기치 않은 태스크를 수행하지 않고 입력을 처리 할 수 있는지 확인하여 테스트 할 수 있습니다. 퍼즈 생성기가 유효한 데이터 패킷의 일부를 임의로 변경 한 다음 조작 된 데이터를 수신 한 후에도 프로토콜이 계속 작동 할 수 있도록하여 네트워크 프로토콜을 테스트 할 수 있습니다. 거의 모든 프로그램의 기본 입력 요소는 저장 유형에 비해 너무 긴 입력, 예상과 다른 유형의 입력 및 어떻게 든 불완전하거나 잘못된 입력과 같은 오류에 저항하는 능력을 검사 할 수 있습니다.
컴퓨터 보안 산업은 퍼즈 테스트를 사용하여 특정 시스템에 명백한 보안 허점이 없는지 확인할 수 있습니다. 컴퓨터 보안 테스트를 위해 설계된 퍼즈 생성기를 사용하면됩니다. 이러한 프로그램은 시스템 키워드, 알려진 기본 관리자 암호, 프로그램이 사용하는 라이브러리 내의 기능 및 시스템 기능에 대한 임의의 호출을 사용하여 프로그램의 반응을 확인합니다.
서로 다른 유형의 퍼지 테스트는 특정 범위 내에 있거나 특정 유형의 입력 만 테스트하도록 사용자 정의 할 수 있습니다. 이는 프로그램에 유효한 명령 만 보낼 수 있지만 의미가없는 순서 일 수 있음을 의미합니다. 대상 프로그램의 요소를 가져 와서 조작하여 악의적으로 악용 될 수있는 상황을 생성 할 수있는 더 복잡한 퍼지 테스트 프로그램이 존재합니다. 여기에는 생성 된 프로세스 순서 변경, 권한 수정 또는 핵심 데이터 및 라이브러리 파일 수정이 포함될 수 있습니다.
퍼즈 테스트의 최종 결과는 프로그램이 안전하고 예기치 않은 상황에 직면했을 때 프로그램이 안전한지 확인하는 것입니다. 프로파일 링 및 분석 소프트웨어와 함께 사용하면 오류 처리 또는 성능 병목 현상과 같은 프로그램 영역에서 메모리 누수를 감지 할 수도 있습니다. 컴퓨터 보안의 경우 시스템을 손상시킬 수있는 오버플로와 같은 위험한 문제는 올바른 설정으로 잡힐 수 있습니다. 그러나 퍼지 테스트는 소프트웨어 테스트의 유일한 방법으로 사용될 수 없으며 더 큰 품질 보증 및 소프트웨어 검사 프로세스의 일부 여야합니다.