본문 바로가기

새로운 블로그로 이전합니다
구글블로그 / 네이버블로그
(자료도 점차 이전할 계획입니다.)


컴퓨터, 프로그래밍/보안

CMD를 이용하여 무결성 검증하기

by 개발자 리브 2023. 2. 27.

[ 개요 ]

 

더보기

 

개발자들은 자신이 만든 프로그램을

인터넷 등의 수단을 통해 다른사람들에게

공개 및 배포한다.

 

그런데, 그렇게 배포된 프로그램은

비단 정상적인 사용자 뿐만 아니라

악의적인 목적을 지닌 해커에게도 갈 수 있다.

 

그러면, 배포된 프로그램을 조작하여

개발자가 만든것처럼 보이면서도

해커가 원하는대로 동작하는 악의적인 프로그램이

만들어져 배포될 수도 있는 것이다.

 

이에 개발자들은, Hash값을 같이 공개함으로써

개발자 본인이 만든 프로그램과 같은 것인지

아니면, 해커에 의해서 변조된 프로그램인지

구분할 수 있도록 함으로써 이를 방지한다.

(= 무결성 보장)

 

그런 Hash값을 별도의 프로그램 없이

CMD만을 이용해서 확인하는 방법을 알아보자

 


[ 명령어 ]

 

명령어 도움말

certutil -hashfile 파일명 [해시알고리즘]

 

* 해시 알고리즘이 별도로 입력되지 않으면

SHA1으로 처리 된다. (즉, 기본값 : SHA1)

 

 

if 원본값 == 비교값 echo 일치합니다

 

 


[ 실습 ]

 

1. 위와 같은 텍스트가 포함된 파일을 생성한다.

 

* 간단한 실습을 위해 txt 파일을 사용하는데

exe, jpg, zip, hwp 등의 파일도 비교 가능함.

 

2. 파일이 존재하는 경로로 진입한 후,

위의 certutil 명령어를 입력하고 결과를 확인한다.

 

3. 비교명령어를 통해서

Hash값의 일치여부를 확인한다.

 

 

( 결론 )

 

한글자만 바뀌어도

Hash값은 완전히 달라짐을 알 수 있다.

 

이런 원리로 프로그램이 변조되었는지의

여부를 Hash값을 통해 파악 할 수 있는 것이다.

 


[ 참고자료 ]

 

 

파일 무결성 검사 / MD5 SHA256 HASH 값 확인 / certutil 명령어

파일 무결성 검사 / MD5, SHA256 HASH 값 확인 프로그램 개발자 및 최초 배포자가 프로그램을 무료로 공개한 파일의 경우, 블로거나 개인들이 다운로드하여서 다시 배포하는 경우도 있습니다. 하지만

superroot.tistory.com

 

 

certutil - 파일 해시값 확인

certutil : 인증서 관련 명령어로써 CMD에서 실행한다. certutil은 파일 무결성체크에도 사용되는데파일이 수정됬을 때 해시값이 변경되므로 파일의 변조 유무를 확인할 수 있다. 파일 다운로드다음

jdh5202.tistory.com

 

댓글