목 차
Ⅰ. 개요
Ⅱ. 환경 구성
Ⅲ. 진행 절차
1. VirtualBox 설치 파일 다운로드 및 해시값 확인
2. Windows OS에서의 해시값 비교
3. Kali Linux에서의 해시값 비교
Ⅳ. 마치며
Ⅰ. 개요
보안의 3요소(기밀성, 무결성, 가용성) 중 하나인 무결성을 검증하는 실습을 통해 적절한 권한을 가진 사용자가 인가한 방법으로만 정보를 변경할 수 있도록 하는 것을 의미하는 무결성에 대해 심도있게 탐구하기 위함
Ⅱ. 환경 구성
1. Virtual Machine
- VMware Workstation Pro
2. OS
- Windows 11 Home
- Kali Linux
3. Material in used
- VirtualBox-7.1.8-168469-Win.exe
Ⅲ. 진행 절차
1. VirtualBox 설치 파일 다운로드 및 해시값 확인
가. VMware Workstation Pro에서 Windows 11 Home 실행 후 VirtualBox 홈페이지에서 VirtualBox 설치 파일 다운로드
- VirtualBox-7.1.8-168469-Win.exe 설치 파일이 다운로드 된 것을 확인
- 설치 파일을 바탕화면으로 이동
나. VirtualBox 홈페이지의 VirtualBox 설치 파일 다운로드 페이지에서 해시 파일 확인
- SHA256 chechsums와 MD5 checksums 해시 파일이 있는데 SHA256 chechsums 해시 파일을 선택
● MD5 해시 알고리즘은 이미 collision이 발견되었으므로 보안 용도로는 부적합
- 다운로드 받은 VirtualBox-7.1.8-168469-Win.exe에 해당하는 해시값 확인
- 해시값에 해당하는 16진수 숫자만 복사하여 메모장에 붙인 후 바탕화면에 sitechecksum.txt로 저장
※ 실습 간 오타로 인해 sitechechsum.txt로 저장하였으므로 아래의 내용부터 sitechechsum.txt로 표기
2. Windows OS에서의 해시값 비교
가. CMD에서 아래의 명령어를 입력하여 바탕화면에 VirtualBox-7.1.8-168469-Win.exe에 대한 해시값을 구한 파일 생성
certutil -hashfile "%userprofile%\Desktop\VirtualBox-7.1.8-168469-Win.exe" SHA256 > "%userprofile%\Desktop\mychecksum.txt"
- 해시값인 16진수 숫자를 제외한 나머지 내용 삭제 후 저장
나. VirtualBox 사이트에서 가져온 해시값이 저장된 sitechechsum.txt 파일과 VirtualBox -7.1.8-168469-Win.exe 에 대해 직접 구한 해시값이 저장된 mychecksum.txt 파일을 열어 두 파일에 저장된 해시값이 같은지 확인
- 두 값이 같으므로 무결성이 손상되지 않았음을 확인할 수 있음
3. Kali Linux에서의 해시값 비교
가. Windows 11 Home 가상 머신 내의 VirtualBox -7.1.8-168469-Win.exe 파일과 sitechechsum.txt 파일을 Kali Linux로 이동
나. Kali Linux 터미널에서 아래의 명령어 입력하여 VirtualBox-7.1.8-168469-Win.exe에 대한 해시값을 구한 파일 생성
sha256sum ~/Desktop/VirtualBox-7.1.8-168469-Win.exe > ~/Desktop/mychecksum.txt
- 텍스트 편집기에서 해시값 뒤의 경로 내용을 삭제 후 저장
다. VirtualBox 사이트에서 가져온 해시값이 저장된 sitechechsum.txt 파일과 VirtualBox -7.1.8-168469-Win.exe 에 대해 직접 구한 해시값이 저장된 mychecksum.txt 파일을 열어 두 파일에 저장된 해시값이 같은지 확인
- Kali Linux 터미널에 아래의 명령어 입력하여 두 파일 내용 비교
diff ~/Desktop/mychecksum.txt ~/Desktop/sitechechsum.txt
※ 오류 ※
"diff ~/Desktop/mychecksum.txt ~/Desktop/sitechechsum.txt" 명령어 실행 결과 아래 사진과 같이 두 내용이 다르다고 나옴
- 두 파일의 내용이 같아 해시값이 다르다고 보기는 어려움
- sitechechsum.txt는 Windows OS에서 생성한 파일이고 mychecksum.txt는 Kali Linux에서 생성한 파일이므로 두 파일의 내용에 숨겨진 문자가 있다든지 인코딩 방식이 다르다던지 할 가능성이 있음
< 해결 1 >
숨겨진 문자가 있을 가능성
- vim 편집기 마지막 행 모드 에서 " :set list "를 입력하여 두 파일을 비교한 결과 두 파일이 동일함을 확인
< 해결 2 >
인코딩 방식의 차이일 가능성
- vim 편집기 마지막 행 모드 에서 " :set fileencoding? "을 입력하여 두 파일을 비교한 결과 두 파일 모두 utf-8로 동일하게 인코딩되었음을 확인
< 해결 3 >
줄 끝 문자(Line Endings)가 다를 가능성
- OS마다 줄 끝 문자가 다를 수 있는데 sitechechsum.txt는 Windows 11에서 생성한 텍스트 파일이고 mychecksum.txt는 Kali Linux에서 생성한 텍스트 파일이므로 줄 끝 문자 통일 시도
- vim 편집기 마지막 행 모드 에서 " :set fileformat=unix "를 입력하여 두 파일의 줄 끝 문자를 통일 후 "diff ~/Desktop/mychecksum.txt ~/Desktop/sitechechsum.txt" 명령어 실행 결과 아래와 같이 어떠한 내용도 출력되지 않는 것을 확인
라. diff 명령어를 입력한 결과 어떠한 내용도 출력되지 않는다는 것은 두 파일이 동일하다는 것을 의미하므로 무결성이 손상되지 않았음을 확인할 수 있음
Ⅳ. 마치며
무결성은 보안의 3대 요소 중 하나이며 적절한 권한을 가진 사용자가 인가한 방법으로만 정보를 변경할 수 있도록 하는 것을 의미한다.
만약 스푸핑 공격 등으로 이러한 무결성이 훼손된 파일을 다운로드 받고 실행한다면 상당한 피해를 입을 수도 있다.
따라서 의심가는 파일, 중요한 파일 등에 대해서 해당 파일을 제공하는 사이트 또는 다른 경로를 통해 해당 파일의 해시값이 무엇인지를 먼저 알아내어 그 값을 자신이 구한 해시값과 비교해보며 파일의 무결성이 훼손되었는지를 확인하는 것을 습관화한다면 스푸핑 등의 공격으로부터 어느정도 안전해질 것이다.
끝.