
CS 600.443 보안 및 개인정보 보호를 위한 최종 프로젝트
보안 및 개인정보 보호 CS 600.443 최종 프로젝트 | 2018년 가을
처음에는 diff를 사용하여 패치를 만들려고 했습니다. 실제 패치를 살펴보기 전에 제가 생각한 방식대로 패치를 적용했습니다. encrypt.patch는 diff로 만든 이 원래 패치입니다. 하지만 이 패치를 freeBSD에 적용하려고 하니 적용되지 않았습니다.
대신 실제 패치를 가져와야 했습니다. 그런 다음 패치를 수정하여 원래 생각했던 방식대로 수정 사항을 구현했습니다. 이 방법은 전체 경로를 패치에 포함시키기 때문에 작동합니다.
패치에서는 간단히 길이를 MAXLENGTH와 비교합니다. 만약 길이가 MAXLENGTH보다 크면 0으로 설정합니다. 이렇게 하면 len = 0인 경우로 빠지게 되어 오류가 발생합니다. 이렇게 수정됩니다!
freeBSD에서 패치를 적용하는 방법에 대한 설명은 다음과 같습니다. https://www.freebsd.org/security/advisories/FreeBSD-SA-11:08.telnetd.asc 실제 패치를 가져오는 대신 이 패치를 사용하세요. 작동할 것이며, 더 이상 버퍼 오버플로우를 악용할 수 없게 됩니다.